Админка по-умолчанию для всех моделей

В процессе разработки часто требуется по-быстрому зарегистрировать в админке все модели,
на мой взгляд, самый простой и быстрый способ:
добавить в admin.py:

from django.contrib import admin
import models
 
#Функция возвращающая список моделей в модуле
def list_models(module):
    import inspect
    from django.db import models
    classes = []
    for name, obj in inspect.getmembers(module):
        if inspect.isclass(obj) and issubclass(obj, models.Model):
            classes.append(obj)
    return classes
 
#Регистрируем все модели
for model in list_models(models):
    admin.site.register(model, admin.ModelAdmin)

Добавить комментарий