So you want to use DJANGO AND MONGODB @flaper87
DJANGO AND MONGODB THAT’S COOL, but you need to know A COUPLE OF THINGS
LIKE: WHAT ARE THE OPTIONS?
( http://mongoengine.org ) An object-document mapper to connect Python and MongoDB
Mongokit ( http://namlook.github.com/mongokit/ ) Another ODM that takes mongodb into the web
OR, OF COURSE
DJANGO MONGODB ENGINE (A MongoDB backend for Django)
DJANGO-NONREL A good and up to date Django fork that brings non-rel support
Sadly, some of your django.contrib.* may be broken, but not the admin
erm... OKAY WHAT’S SO COOL ABOUT THIS THEN?
WHAT’S SO COOL ABOUT THIS THEN? No changes needed.
ABOUT THIS THEN? No changes needed. NOBODY’S GONNA TOUCH YOUR PRECIOUS BUILTINS.
NOBODY’S GONNA TOUCH YOUR PRECIOUS BUILTINS. REDUCED IMPEDANCE MISSMATCH
That’s cool WHAT ELSE?
NEW FIELDS
AGGREGATIONS
GRIDFS
CACHING
MAP / REDUCE >>> for pair in Article.objects.map_reduce(_map, _reduce, 'wordcount'): ... print pair.key, pair.value
NEW INDEXES class Club(models.Model): location = ListField() rating = models.FloatField() ... class MongoMeta: indexes = [ [('rating', -1)], {'fields': [('location', '2d')], 'min': -42, 'max': 42}, ]
Plus: TONS OF DOCS (which never hurts)
Suggestions
RAW QUERIES MyModel.objects.raw_query(field=“value”)
EMBEDD IF POSSIBLE class Comment(models.Model): created_on = models.DateTimeField() author = EmbeddedModelField('Author') text = models.TextField()
RE-THINK YOUR MODELS class Post(models.Model): title = models.CharField() text = models.TextField() tags = ListField() # Note: Use defer comments = ListField(EmbeddedModelField('Comment'))
DO NOT USE IT EVERYWHERE MONGODB_MANAGED_APPS = ['myapp'] MONGODB_MANAGED_MODELS = ['myapp.MongoDBModel']
SERVE STATIC FILES GridFSStorage + nginx-GridFS
AGGREGATIONS? MAP/REDUCE class Min(MongoAggregate):     initial_value = float('inf')     reduce_template = '{alias} = ({lookup}<{alias})?{lookup}:{alias}' class Max(MongoAggregate):     initial_value = float('-inf')     reduce_template = '{alias} = ({lookup}>{alias})?{lookup}:{alias}'
DATES WORK But, MongoDB does not support month/day queries
DO NOT TRY TO MIGRATE It Wont Work!
CONTRIBUTE The Compiler’s a mess
Ask away http://groups.google.com /group/django-non-relational Contribute: http://django-mongodb.org /meta/contributing.html

Django mongodb -djangoday_