从 admin-django 中的模型导入和注册所有类



在myApp中,我在模型中有多个类。我想在 admin.py 中导入所有这些类并注册。

是否可以不重复,例如

from django.contrib import admin
from .models import (classA,classB, classC)
  1. 我可以导入所有项目而不明确引用上述操作吗
  2. 我也可以一次注册吗

谢谢

杰夫

你可以试试这个:-

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)

最新更新