Django NonRel: The solution for running Django with Google App Engine's Datastore

Django is a robust Python framework for building web applications. It has built in support for common tasks such as authorization and authentication, form validation, routing, templating, and an admin interface. It natively supports relational databases like Oracle Database, Microsoft SQL Server, MySQL and others.

Google App Engine is a PAAS (platform as a service) that allows you to get your site up and running quickly. It takes away many of the pain points associated with configuring your own server infrastructure. And it scales effortlessly as your traffic and database grow. But it's native database, Datastore, is a NoSQL database so it's not compatible out of the box with Django.

So how do you marry the two? Django NonRel. Django NonRel is a fork of the open source Django project that adds support for NoSQL databases like App Engine's Datastore and MongoDB. The project is so well done, that Google documents itas the solution to running Django on App Engine. The community owes a huge debt to the folks at All Buttons Pressed who took the lead on this project. The setup is not trivial, but once you've done it once, it's easily replicable to other projects.