Skip to content

adamchainz/django-mysql

Repository files navigation

Django-MySQL

image

image

image

image

pre-commit

Django-MySQL extends Django's built-in MySQL and MariaDB support their specific features not available on other databases.

What kind of features?

Includes:

  • QuerySet extensions:
    • 'Smart' iteration - chunked pagination across a large queryset
    • approx_count for quick estimates of count()
    • Query hints
    • Quick pt-visual-explain of the underlying query
  • Model fields:
    • MariaDB Dynamic Columns for storing dictionaries
    • Comma-separated fields for storing lists and sets
    • 'Missing' fields: differently sized BinaryField/TextField classes, BooleanFields represented by BIT(1)
  • ORM expressions for over 20 MySQL-specific functions
  • A new cache backend that makes use of MySQL's upsert statement and does compression
  • Status variable inspection and utility methods
  • Named locks for easy locking of e.g. external resources
  • Table lock manager for hard to pull off data migrations

To see them all, check out the exposition at https://django-mysql.readthedocs.io/en/latest/exposition.html .

Requirements and Installation

Please see https://django-mysql.readthedocs.io/en/latest/installation.html .

Documentation

Every detail documented on Read The Docs.