如何在Django Admin中自动注册所有模型?
内置的管理界面是Django最强大和最受欢迎的功能之一。 创建模型后,我们需要在管理界面中注册它们,以便它可以读取元数据并为其填充接口。
如果Django项目中的模型过多或具有旧式数据库,那么将所有这些模型添加到admin中就变得很繁琐。 为了使这一过程自动化,我们可以以编程方式获取项目中的所有模型,并在管理界面中注册它们。
打开admin.py文件,并将此代码添加到其中。
from django.apps import apps
models = apps.get_models()
for model in models:
admin.site.register(model)
这将获取所有应用程序中的所有模型,并在管理界面中注册它们。
如果我们自动注册所有模型,则效果很好。 但是,如果我们分别使用自定义项注册某些模型并尝试再次在我们的应用程序中注册所有模型,则将存在冲突,因为Django不允许两次注册同一模型。
因此