在myApp中,我在模型中有多个类。我想在 admin.py 中导入所有这些类并注册。
是否可以不重复,例如
from django.contrib import admin
from .models import (classA,classB, classC)
- 我可以导入所有项目而不明确引用上述操作吗
- 我也可以一次注册吗
谢谢
杰夫
你可以试试这个:-
import inspect
import models
for name, obj in inspect.getmembers(models):
if inspect.isclass(obj):
admin.site.register(obj)
这将获取所有 models.py 类,并在循环下注册管理员。
我没有尝试过,但它在 python 上获取类的工作相同。
您可以使用以下命令注册所有模型:
从 django.db.models.base 导入 ModelBase 来自 django.contrib import admin 导入模型
for model_name in dir(models):
model = getattr(models, model_name)
if isinstance(model, ModelBase):
admin.site.register(model)