django中批量注册model进入admin
原先在使用的时候,每个app下面的admin.py,每一个model都要注册一下,就像这样
from django.contrib import admin from .models import * # Register your models here. admin.site.register(member,.....)#这里写入你的所有model
非常麻烦,每次有新增加的model又要重新注册
改进了一下,可以一下将model全部注册,新增也不怕
#settings.py
# Application definition
CUSTOM_APPS=[
'base',
'usercenter',
'ussd',
]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]+CUSTOM_APPS
在其中任意一个app下面的admin.py写入:
from django.contrib import admin
from django.contrib.admin.sites import AlreadyRegistered #获取app:api下所有的model得到一个生成器
from django.apps import apps
from mogo.settings import CUSTOM_APPS
for each in CUSTOM_APPS:
app_models = apps.get_app_config(each).get_models()
for model in app_models:
admin.site.register(model)
大功告成!

浙公网安备 33010602011771号