:Info: A Mongo Manager for Django, providing native Django ORM support for Mongo DB :Version: 0.1.1 :Maintainer: Gadi Oren (http://cloudoscope.com)
.. image:: https://travis-ci.org/gadio/moma-django.png :alt: Build Status :target: https://travis-ci.org/gadio/moma-django
moma-django is a Mongo Manager for Django. It provides native Django ORM support for Mongo DB.
moma-django provides a framework to bridge between a SQL DB and the NonSQL MongoDB using a simple and powerful framework allowing an application to have models both on SQL database and on Mongo, and a quick experimentation / migration path from SQL only to a mixed model. Created and maintained by Gadi Oren, as a part of the Lucidel and Cloudoscope products.
date__gte
notation) as well as Q statements. Not supported yet: annotations and aggregationsentry = {a:3, b:{k1:4, k2:3,km:'a'}}
you can query: qs = Entry.objects.filter(a__gte=2,b__km__regexp='^a$') )
(note the b__km__regexp
"drill into")There are other packages out there that create tight integration between MongoDB and django. Why use this one? This package was originally created as a part of very careful experimentation with MongoDB, and developed in small increments. The reason was that we couldn't afford a radical change like replacing the entire Django or moving completely to a NoSQL type of environment. This package allowed us to enjoy both worlds without massive impact on the project. It is used in production, as part of a high scale & performance project. If that is the type of decision and constraints that you are facing, this package may be a good option.
Get MongoDB::
Download the right version per http://www.mongodb.org/downloads
Get pymongo:
pip install pymongo=>2.1.1
Get the code::
pip install moma-django
Install the dependency in your settings.py::
INSTALLED_APPS = (
...
'moma_django',
...
)
All the documentation for this project is hosted at http://moma-django.readthedocs.org.
git clone git://github.com/gadio/moma-django.git
).Releases will be numbered with the following format:
<major>.<minor>.<patch>
And constructed with the following guidelines:
Have a bug? Please create an issue here on GitHub that conforms with the guidelines.
https://github.com/gadio/moma-django/issues
Please follow us on Twitter, @cloudoscope_inc. Keep up to date on announcements and more by following Gadi on Twitter, @gadioren.
Cloudoscope blog can be found here. Read more detailed announcements, discussions, and more on The Official Blog.
How to test: Please read Example application README about running the unit tests.
Watch the [presentation] (http://www.slideshare.net/GadiOren/moma-django-overviewshare) and the [video] (http://youtu.be/cxQKTDLjb-w)
Please submit all pull requests against *-wip branches. When relevant, you must include relevant unit tests. Thanks!
Gadi Oren
Additional contributor https://github.com/Alerion (as part of a contract position with Lucidel)
Copyright 2012 Lucidel, Inc., 2013 Cloudoscope Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
You can hire the lead maintainer to perform dedicated work on this package. Please email gadi.oren.1 at gmail.com.