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
tolist_display
. - Optimizes the database queries by selecting related fields.
- Adds fields that have
choices
set tolist_filter
. - If a model only has one
DateField
orDateTimeField
it adds that field to thedate_hierarchy
- Sets
raw_id_field
for related fields andautocomplete_fields
for related fields that havesearch_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',]'
- Defaults to
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
- Defaults to
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
[]
- 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 thelist_display
automatically.admin_autoregister.mixins.ListFilterAdminMixin
- Populates thelist_filter
attribute automatically.admin_autoregister.mixins.AutocompleteFieldsAdminMixin
- Populates theraw_id_fields
andautocomplete_fields
attributes automatically.admin_autoregister.mixins.SelectRelatedFieldsAdminMixin
- Automatically selects all related fields with the queryset.admin_autoregister.mixins.DateHierarchyAdminMixin
- Automatically sets thedate_hierarchy
if there's only oneDateTimeField
orDateField
Contributing
Contributions are very welcome - submit a PR!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-admin-autoregister-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65bd465b88b18e11a25538a7ebb27c627b1b477ec9858cf6e93bb829b1dbd505 |
|
MD5 | ad0a5be1c268d801436c5ce4173a10a6 |
|
BLAKE2b-256 | 02ce562c4a2abbdfad8446b5d45fcb4c2fc0e1b904393a8433fda373ad4213e6 |
Hashes for django_admin_autoregister-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f26062f95b2d368d9f0bda8d3ef085431917f17ae31811db4da72e9836d89dd3 |
|
MD5 | c13b1b707ab2a1614d5e51de9f1d2dee |
|
BLAKE2b-256 | 3b1edd5b9863e0219f932d57ffe53172c34a250daf693303c4b209b563b7359f |