Skip to main content

A Django app that registers all unregistered models to the admin automatically.

Project description

Django admin autoregister

This is a simple app that automatically registers all the models that have not yet been registered to the Django admin.

It also does the following:

  • Adds all fields except TextField to list_display.
  • Optimizes the database queries by selecting related fields.
  • Adds fields that have choices set to list_filter.
  • If a model only has one DateField or DateTimeField it adds that field to the date_hierarchy
  • Sets raw_id_field for related fields and autocomplete_fields for related fields that have search_fields set.
  • Only registers models that you haven't yet registered.
  • Ignores models that you wish to exclude from the admin.

Installation

  • Install django-admin-autoregister
pip install django-admin-autoregister

or

pipenv install django-admin-autoregister
  • Add admin_autoregister to the bottom INSTALLED_APPS setting like this:
INSTALLED_APPS = [
    # ...
    'admin_autoregister',
]

Be extra careful to include it as the last app in the list, otherwise your own admin registrations will raise exceptions.

All your models should now be registered in the admin.

  • You can use the following settings to tweak the admin auto registration:

    • ADMIN_AUTOREGISTER_EXCLUDE is a list of models to exclude in the admin.
      • Defaults to ['contenttypes.ContentType', 'auth.Permission', 'session.Session', 'admin.LogEntry',]'
    • ADMIN_AUTOREGISTER_EXCLUDE_INLINES is a boolean that determines whether or not to exclude models that are already registered as inlines of other models.
      • Defaults to True
    • ADMIN_AUTOREGISTER_UNREGISTER_LIST is a list of models to unregister from admin. This is usefull when you want to unregister models from other apps such as Celery, Oauth which are registered by default.
      • Defaults to []

Mixins

Each of the autoregister features can be used in your registered models by adding them as mixins.

The available mixins are:

  • admin_autoregister.mixins.ListDisplayAdminMixin - Populates the list_display automatically.
  • admin_autoregister.mixins.ListFilterAdminMixin - Populates the list_filter attribute automatically.
  • admin_autoregister.mixins.AutocompleteFieldsAdminMixin - Populates the raw_id_fields and autocomplete_fields attributes automatically.
  • admin_autoregister.mixins.SelectRelatedFieldsAdminMixin - Automatically selects all related fields with the queryset.
  • admin_autoregister.mixins.DateHierarchyAdminMixin - Automatically sets the date_hierarchy if there's only one DateTimeField or DateField

Contributing

Contributions are very welcome - submit a PR!

Project details


Download files

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

Source Distribution

django-admin-autoregister-1.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file django-admin-autoregister-1.1.0.tar.gz.

File metadata

File hashes

Hashes for django-admin-autoregister-1.1.0.tar.gz
Algorithm Hash digest
SHA256 65bd465b88b18e11a25538a7ebb27c627b1b477ec9858cf6e93bb829b1dbd505
MD5 ad0a5be1c268d801436c5ce4173a10a6
BLAKE2b-256 02ce562c4a2abbdfad8446b5d45fcb4c2fc0e1b904393a8433fda373ad4213e6

See more details on using hashes here.

File details

Details for the file django_admin_autoregister-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_admin_autoregister-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f26062f95b2d368d9f0bda8d3ef085431917f17ae31811db4da72e9836d89dd3
MD5 c13b1b707ab2a1614d5e51de9f1d2dee
BLAKE2b-256 3b1edd5b9863e0219f932d57ffe53172c34a250daf693303c4b209b563b7359f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page