2016-08-04

auto register all Django models in admin

In Django admin if you want to autoload all app models in admin without having to enumerate each one:

Instead of what the tutorial writes:

from django.contrib import admin
from .models import Publisher, Author, Book

admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)

instead:

from django.contrib import admin
from . import models
import inspect

for name, obj in inspect.getmembers(models):
    if inspect.isclass(obj):
        admin.site.register(getattr(models, name))

2 comments: