Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: a896701eb4
Fetching contributors…

Cannot retrieve contributors at this time

91 lines (58 sloc) 2.665 kb


Info: An introspective interface for Django and MongoDB.
Version: 0.2.11
Author: Daniel Greenfeld (


Extracted from, django-mongonaut is an introspective interface for working with MongoDB via mongoengine. Rather then attempt to staple this functionality into Django's Admin interface, django-mongonaut takes the approach of rolling a new framework from scratch.

By writing it from scratch I get to avoid trying to staple ORM functionality on top of MongoDB, a NoSQL key/value binary-tree store.



Made as easy as possible, setup is actually easier than django.contrib.admin. Furthermore, the only dependencies are mongoengine and pymongo. Eventually django-mongonaut will be able to support installations without mongoengine.

Get MongoDB:

Download the right version per

Get mongoengine (and pymongo):

pip install mongoengine==0.5.2

Get the code:

pip install django-mongonaut==0.2.11

Install the dependency in your


You will need the following also set up:

  • django.contrib.sessions
  • django.contrib.messages


No need for autodiscovery() with django-mongonaut!


django-mongonaut will let you duplicate much of what django.contrib.admin gives you, but in a way more suited for MongoDB. Still being implemented, but already works better than any other MongoDB solution for Django. A simple example:

# myapp/

# Import the MongoAdmin base class
from mongonaut.sites import MongoAdmin

# Import your custom models
from blog.models import Post

# Instantiate the MongoAdmin class
# Then attach the mongoadmin to your model
Post.mongoadmin = MongoAdmin()


All the documentation for this project is hosted at

Support this project!

Sign up for an account on It's free and always will be!


  • mongoengine 0.5.2
  • pymongo 2.1.1 (comes with mongoengine)
  • sphinx (optional - for documentation generation)
Jump to Line
Something went wrong with that request. Please try again.