Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

798 Commits
798 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

djongo

License: AGPL v3 PyPI version

The only connector that lets you use Django with MongoDB without changing the Django ORM

Use MongoDB as a backend database for your Django project, without changing the Django ORM. Use the Django Admin GUI to add and modify documents in MongoDB.

Usage:

  1. Install djongo:
    pip install djongo
    
  2. Into settings.py file of your project, add:
    DATABASES = {
        'default': {
            'ENGINE': 'djongo',
            'NAME': 'your-db-name',
            'CLIENT': {
               'host': 'your-db-host',
            }
        }
    }
  3. Run manage.py makemigrations <app_name> followed by manage.py migrate (ONLY the first time to create collections in mongoDB)
  4. YOUR ARE SET! HAVE FUN!

Requirements:

  1. Python 3.6 or higher.

  2. MongoDB 3.4 or higher.

  3. If your models use nested queries or sub querysets like:

    inner_qs = Blog.objects.filter(name__contains='Ch').values('name')
    entries = Entry.objects.filter(blog__name__in=inner_qs)

    MongoDB 3.6 or higher is required.

How it works

djongo is a SQL to mongodb query compiler. It translates a SQL query string into a mongoDB query document. As a result, all Django features, models etc. work as is.

Django contrib modules:

  
'django.contrib.admin',
'django.contrib.auth',    
'django.contrib.sessions',

and others... fully supported.

Features

  • Use Django Admin GUI to access MongoDB.
  • Embedded Model.
  • Embedded Array.
  • Embedded Form Fields.

Read the full documentation

Contribute

If you think djongo is useful, please share it with the world!

You can contribute to the source code or the documentation by creating a simple pull request! You may want to refer to the design documentation to get an idea on how Django MongoDB connector is implemented.

Add a star, show some love :)

Questions and Discussion

  • Djongo groups is where you can watch for new release announcements, suggest improvements, and discuss topics pertaining to Django and MongoDB.
  • Issues, where things are not working as expected, please raise a git-hub issue ticket.
  • For questions and clarifications regarding usage, please put it up on stackoverflow instead.

Sponsor this project

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.