Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Django Rest Framework Mongoengine

Build Status codecov PyPI version Join the chat at

The package provides mongoengine support for django-rest-framework.


For full documentation, usage and examples refer to DRF manuals.

The features and differences of this package are described in API documentation.


  • Django == 2.* | 3.0
  • djangorestframework == 3.*
  • mongoengine == 0.18.* | 0.19.*
  • blinker == 1.* (for mongoengine referencefields to work)


from pypi

pip install django-rest-framework-mongoengine

from github

  • download some release from github, unpack somewhere.
  • copy subdir unpacked_path/rest_framework_mongoengine into your django project or inside python path
  • or, install using pip unpacked_path

do not use git clone!

It may contain non-working code. Before using it, run tests to ensure the code is working.


Include the packages in Django settings.


Import modules

Use corresponding classes from this package in place of original DRF stuff. Refer to API documentation.


If you discover something does not work on the DRFM side, the best way to ensure that and report an issue - is to write a test case, with minimal code that fails. You may use this template to create your case.

If you have something (Django, DRF, mongoengine) at a version, not mentioned in release notes, you better run all the tests in your environment to ensure the DRFM is compatible with that version.

For tests to work, you need pytest in your environment.

To run all the tests:

./ --fast

To run tests from separate file, class or method:

./ --fast test_name


Current release

Intended to match DRF API. The major and minor version number matches supported version of DRF. Note: this release is incompatible with all previous.

Old releases

Releases 2.x were not well compatible with DRF and mongoengine. Current code is mostly refactored and reimplemented.

Ancient releases

Releases 1.x were developed to work with DRF 2. This branch is no longer supported. Documentation available here


@qwiglydee @BurkovBA @Vayel @uoxiu

Feel free to mail me if you consider being a maintainer.