Skip to content

Instantly share code, notes, and snippets.

@luzfcb
Forked from fabiocerqueira/autoadmin.py
Created September 5, 2012 10:12
Show Gist options
  • Save luzfcb/3634486 to your computer and use it in GitHub Desktop.
Save luzfcb/3634486 to your computer and use it in GitHub Desktop.
Register on admin models for modules without the admin.py file
from django.conf import settings
from django.db.models import get_models
from django.utils.importlib import import_module
from django.utils.module_loading import module_has_submodule
from django.contrib.admin.sites import AlreadyRegistered
from django.contrib import admin
def autodiscover():
for app in settings.INSTALLED_APPS:
mod = import_module(app)
if not module_has_submodule(mod, 'models'):
continue
if module_has_submodule(mod, 'admin'):
import_module('%s.admin' % app)
continue
models = import_module('%s.models' % app)
for model in get_models(models):
try:
admin.site.register(model)
except AlreadyRegistered:
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment