NoSQL

This is a grid of non-relational database backends.

Features currently being evaluated

FeatureDescription
regex
Unsupported field options These field options are ignored
Extra field types Other field types which are supported (either from djangotoolbox.fields or
provided by the backend itself)
Unsupported Meta options All "class Meta" options are supported except for these
isnull
iexact
istartswith
icontains
iregex
iendswith
year
month
day
endswith
exact
in
contains
gte
gt
startswith
range
lt
lte
Unsupported Django fields All Django fields except for these are supported
week_day
Multi-table inheritance
Transactions
QuerySet.in_bulk()
QuerySet.exists()
QuerySet.get_or_create()
QuerySet.create()
QuerySet.get()
QuerySet.defer()/only()
QuerySet.count()
QuerySet.extra()
QuerySet.select_related()
QuerySet.values_list()
QuerySet.values()
search
QuerySet.annotate()
Variance
StdDev
Unsupported native field/data types Which DB-specific field/data types have no alternative in Django
QuerySet.dates()
Avg
QuerySet.order_by()
Max
Min
Count
Sum
QuerySet.exclude()
OR queries Are Q(...) | Q(...) queries supported?
QuerySet.latest()
QuerySet.distinct()
QuerySet.reverse()
Unsupported native DB features
JOINs
QuerySet.update()
QuerySet.bulk_create()
QuerySet.delete()
QuerySet.in_bulk()
Admin interface support Can the backend be used with the admin interface?
second
minute
hour
Package Django-nonrel MongoDB Engine django-storages neo4django Couchdbkit Django ElasticSearch Engine djangoappengine htsql django-dockit moma-django: Django ORM for MongoDB. django-docfield-couchdb
Package Django-nonrel MongoDB Engine django-storages neo4django Couchdbkit Django ElasticSearch Engine djangoappengine htsql django-dockit moma-django: Django ORM for MongoDB. django-docfield-couchdb
Description Django MongoDB Backend Support for many storages (S3,
MogileFS, etc) in Django.
Documentation:
http://django-storages.readthedocs.org
Drop-in Neo4j/Django
integration.
CouchDB python framework Django ElasticSearch Backend Django backends for App Engine
support.
HTSQL is a comprehensive
navigational query language
for relational databases.
HTSQL is designed for data
analysts and other accidental
programmers ...
Provides a document based ORM
suite modelled after Django's
own conventions.
MongoDB Manager for Django:
providing native Django ORM
support for Mongo DB.
Django fields that encapsulate
docs and other idioms from a
live CouchDB instance.
CategoryOtherAppFrameworkAppOtherAppOtherFrameworkAppApp
# Using This1128311113011
Python 3?
Development Status Production/Stable Production/Stable Alpha Beta n/a n/a Beta Alpha Beta Production/Stable
Last updated June 19, 2015, 9:15 a.m. March 4, 2014, 8:10 p.m. July 3, 2014, 12:12 p.m. Feb. 28, 2014, 8:41 a.m. Sept. 2, 2011, 5:46 p.m. Nov. 10, 2011, 8:05 p.m. May 7, 2015, midnight April 11, 2013, 2:32 p.m. March 13, 2014, 11:09 a.m. Feb. 8, 2014, 5:31 p.m.
Version0.5.21.1.80.1.80.6.5n/an/a2.3.30.0.130.1.10.2.4
RepoGithubBitbucketGithubGithubGithubBitbucketBitbucketGithubGithubGithub
Commits
Stars5444972532451171154530307
Repo Forks1722615578212616951
Participantsjonashaag
FlaPer87
wrwrwr
aburgel
charettes
emperorcezar
markunsworth
r4fek
Alir3z4
bpedman
more...
davidmhluongo
d10genes
shaunduncan
pirhoo
tonjo
necaris
vistorve
doismellburning
lutoma
coffenbacher
more...
benoitc
invalid-email-address
dannyroberts
stefankoegl
b3no
douglatornell
mario
wendall911
taxilian
georgemarshall
more...
FlaPer87wkornewaldprometheuszbyte64
msabramo
kmooney
nikolajbaer
gadiofish2000
bitdeli-chef
Documentation N/A N/A N/A N/A N/A
regex  (more efficient with django-dbindexer)  predefined regexes with django-dbindexer
Unsupported field optionsunique
unique_for_date/_month/_year
db_tablespace
unique_for_date/_month/_year
db_tablespace
db_index
primary_key (Neo4j only allows a default primary id)
unique
unique_for_date/_month/_year
db_tablespace
db_index (a more flexible alternative is available)
unique
unique_for_date/_month/_year
db_tablespace
db_index (a more flexible alternative is available)
Extra field typesin djangotoolbox.fields:
ListField
DictField
SetField
RawField

custom fields:
GridFSField
ArrayProperty
StringArrayProperty
IntArrayProperty
URLArrayProperty
ListField
DictField
in djangotoolbox.fields:
ListField
DictField
SetField
RawField
BlobField
ListField
DictField
SchemaField
Unsupported Meta optionsdb_tablespacedb_tablespace
unique_together
db_tablespace
unique_together
db_tablespace
unique_together
isnull  (needs django-dbindexer for ForeignKey)  (needs django-dbindexer for ForeignKey)
iexact  (more efficient with django-dbindexer)  with django-dbindexer
istartswith  (more efficient with django-dbindexer)  with django-dbindexer
icontains  (more efficient with django-dbindexer)  with django-dbindexer
iregex  (more efficient with django-dbindexer)  predefined regexes with django-dbindexer
iendswith  (more efficient with django-dbindexer)  with django-dbindexer
year
month  with django-dbindexer  with django-dbindexer
day  with django-dbindexer  with django-dbindexer
endswith  (more efficient with django-dbindexer)  with django-dbindexer
exact
in  limited to 30 comparisons on non-pks
contains  (more efficient with django-dbindexer)  with django-dbindexer
gte
gt
startswith
range
lt
lte
Unsupported Django fieldsManyToManyFieldNone of the original Django fields are supported, and are instead replaced by fields provided by the package.ImageField
ManyToManyField
ImageField
ManyToManyField
week_day  with django-dbindexer  with django-dbindexer
Multi-table inheritance  (needs JOINs)  (needs JOINs)  (needs JOINs)
Transactions  (MongoDB doesn't have transactions)  (working on it)  (but App Engine's run_in_transaction() works)
QuerySet.in_bulk()
QuerySet.exists()
QuerySet.get_or_create()
QuerySet.create()
QuerySet.get()
QuerySet.defer()/only()  (planned)  (same constraints as QuerySet.values())
QuerySet.count()
QuerySet.extra()  (SQL-specific)  (SQL-specific)  (SQL Specific)  (SQL-specific)
QuerySet.select_related()
QuerySet.values_list()  (same constraints as QuerySet.values())
QuerySet.values()  (only efficient on pk, otherwise all values are fetched internally and unneeded ones are thrown away)
search  (planned)
QuerySet.annotate()
Variance  (planned)
StdDev  (planned)
Unsupported native field/data typesNot yet implemented:
Primary key for entity groups
ByteStringProperty
UserProperty
GeoPtProperty
QuerySet.dates()
Avg
QuerySet.order_by()
Max
Min
Count
Sum
QuerySet.exclude()  (only with OR queries)  (only with OR queries)
OR queries  (only with QuerySet.exclude())
QuerySet.latest()
QuerySet.distinct()
QuerySet.reverse()
Unsupported native DB featuresMissing in QuerySet.update():

* $push/$pushAll, $pull/$pullAll for adding/removing entries from a ListField

* $addToSet to add an entry to ListField only if it doesn't exist

* $pop for removing last or first element from ListField
More general method for traversals (currently supported by select_related()).Not yet implemented:
Cursors
Entity groups
Batch-save()
JOINs  (using traversals + indexing, since graph databases don't have tables)  via django-dbindexer (simple JOINs)
QuerySet.update()
QuerySet.bulk_create()
QuerySet.delete()
QuerySet.in_bulk()
Admin interface support
second
minute
hour
Search WeightPackageDescriptionLast PyPI release:Repo ForksStars
{{ item.weight / max_weight * 100 | number:0 }}%{{ item.title }}Grid: {{ item.description }} {{ item.last_released | date: 'mediumDate' }} N/A {{ item.repo_forks }} N/A {{ item.repo_watchers }} N/A