Simplify Query Creation

Autogenerated Queries

Writing query documents can get out of control. Djongo does the heavy lifting of creating query documents for you.

More
Switch DBs instantly

Database Abstraction

Switch between MongoDB and other SQL databases. Limit the impact to your Models and business logic.

More
Security

Security

Directly saving raw JSON into the database is scary. Djongo secures and validates the JSON document before saving.

More
Cloud Services

Container Integration

Managed DBs, Storage, Kubernetes, Compute and Virtual Private Cloud (VPC) Integration

More
Rapid Prototyping

Rapid Prototyping

Speed up development with schema free models. Enforce protection with evolution.

More
Web Interface

Web Interface

Access and modify MongoDB through the dashboard, CLI or API

More

DjongoCS Containers

Deploy a frustration free Django MongoDB instance on GCP

postcard

Deploy a preset Ubuntu webserver instance running MongoDB and Django with the latest version of Djongo.

Focus on developing the models.py and views.py. Let djongo cloud services automate the rest. Manage access keys, modify subscription plans, and request support using the dashboard.

Create Account

Djongo Commercial License

Deploy

Deploy

Host closed source applications that use the Djongo package.

Modify

Modify

Modify the djongo source code without requiring to open source your modifications.

Sample License
Redistribute

Redistribute

Include and redistribute the djongo package without having to open source your own code.

The Djongo commercial license gives an enterprise the freedom to host commercial apps with no restrictions.

Latest Updates
$15
PER MONTH
Create Account
Webserver instance running the latest version on Djongo.
Supports the latest version of Django, MongoDB.
Important bug fixes.
Extended Features
$55
PER MONTH
Create Account
Includes Latest updates.
MongoDB transactions.
Advanced Fields.

Products

  Djongo DjongoCS Enterprise
    Create Account More
Django MongoDB Connector
Virtualized Containers
Latest Updates
Extended Features
Commercial License
Services

Built for Enterprises

First Access

First Access

Djongo packages released to enterprises are compatible with newer versions of Django and MongoDB.

Support

Support

As an enterprise customer, your queries and change requests take top priority.

Redistribute

Secure

Djongo source is open and viewed by hundreds of developers everyday. Reported security vulnerabilities, bugs are rectified and continuously integrated.

Queries

self.db['entry'].aggregate(
  [{
    '$match': {
      'author_id': {
        '$ne': None,
        '$exists': True
       }
     }
    },
    {
      '$lookup': {
        'from': 'author',
        'localField': 'author_id',
        'foreignField': 'id',
        'as': 'author'
      }
    },
    {
      '$unwind': '$author'
    },
    {
      '$lookup': {
        'from': 'blog',
        'localField': 'blog_id',
        'foreignField': 'id',
        'as': 'blog'
      }
    },
    {
      '$unwind': {
        'path': '$blog',
        'preserveNullAndEmptyArrays': True
      }
    },
    {
      '$addFields': {
        'blog': {
          '$ifNull': ['$blog', {
            'id': None,
            'title': None
          }]
        }
      }
    },
    {
      '$match': {
        'author.name': {
          '$eq': 'Paul'
        }
      }
    }, 
    {
      '$project': {
        'id': True,
        'blog_id': True,
        'author_id': True,
        'content': True,
        'blog.id': True,
        'blog.title': True
      }
    }]
qs = Entry.objects.filter(author__name='Paul').select_related('blog')
PyMongo
Djongo

Djongo generates complex, error free, aggregation queries automatically.

It takes the query on the top and automatically generates the pymongo query document as the output.

Prototyping

Security
JSONField
Represents documents with no structure, and no validations.
EmbeddedField
Used to describe the data structure that triggers automatic validations at the application level.
Settings.py

Set enforce_schema to True in settings.py to enable schema checks at the database level.

Lines of code

Security and Integrity Checks

def script_injection(value):
  if value.find('<script>') != -1:
    raise ValidationError(_('Script injection in %(value)s'),
                          params={'value': value})

class Entry(models.Model):
  homepage = models.URLField(validators=[URLValidator,
                                         script_injection])

Djongo performs checks on data fields before they are saved to the database.

Define custom validators or use builtin validators to check the data. Validation is triggered prior to writing to the database.

Running integrity checks and field value validators ensures protect from garbage data.

Djongo

Djongo Djongo is a unified approach to database interfacing. It is an extension to the
Django ORM framework but maps python objects to MongoDB documents.

Constructing queries using Djongo is much easier compared to writing lengthy Pymongo query documents. Storing raw JSON emitted by the frontend directly into the database is scary. Djongo ensures that only clean data gets through.

You no longer need to use the shell to inspect your data. By using the Admin package, you can access and modify data directly from the browser. Djongo includes handy UI elements that help represent MongoDB documents on the browser.

Get Started

Compatibility Matrix

  Djongo on Github DjongoCS
    Latest updates Extended features
Djongo version 1.3.4 1.3.4 1.3.6 1.3.6 1.3.7 1.3.7 1.3.7 1.3.7 1.3.7 1.3.7
Django version 2.2.28 2.2.28 3.1.12 3.1.14 2.2.28 3.1.12 3.1.14 2.2.28 3.1.12 3.1.14
Pymongo version 3.7.0 3.11.4 3.11.4 3.11.4 3.7.0 3.11.4 3.11.4 3.7.0 3.11.4 3.11.4
Mongodb fields
Django boot support
Django migrations
Django contrib support
Basic operations
Advanced operations
Special keywords
Schema generation