Skip to main content

Django generic many-to-many field

Project description

© 2014-2018 Thomas Khyn

Django generic many-to-many field implementation.

This django application exposes a GM2MField that combines the features of the standard Django ManyToManyField and GenericForeighKey and that can be used exactly the same way.

It has been tested with Django 1.11 and 2.0 and the latest minor versions of Python 2 and 3 (Django 2.0 only supports Python 3).

If you like django-gm2m and are looking for a way to thank me and/or encourage future development, here is my BTC or BCH donation address: 1EwENyR8RV6tMc1hsLTkPURtn5wJgaBfG9.


  • Works like the built-in Django related fields
  • Creates one table per relation, like ManyToManyField, and not one big table linking anything to anything (django-generic-m2m’s default approach)
  • No need to modify nor monkey-patch the existing model classes that need to be linked
  • Automatic reverse relations when an instance is added
  • Related objects prefetching
  • Through models support
  • Deletion behaviour customization using signals
  • Migrations support


The documentation is hosted on readthedocs. You’ll find a quick start and the description of all django-gm2m’s advanced features.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-gm2m-0.6.1.tar.gz (25.8 kB) Copy SHA256 hash SHA256 Source None Apr 17, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page