【问题标题】:Add all models to admin site django 1.9将所有模型添加到管理站点 django 1.9
【发布时间】:2016-03-08 06:33:06
【问题描述】:

我需要在 django 1.9 上将我的模型添加到我的管理站点, 我之前使用过这段代码:

for model in get_model(get_app('campaign')):
     admin.site.register(model)

但是,django 1.9 版本不支持它。有没有新的方法可以做到这一点?

【问题讨论】:

  • 什么是get_model?你在 Django 1.9 中遇到了什么错误?如果您将此信息添加到您的问题中,它将对其他正在升级的用户更有用。

标签: django python-3.x django-1.9


【解决方案1】:

您可以使用应用配置的get_models() 方法。

from django.contrib import admin
from django.apps import apps

myapp = apps.get_app_config('myapp')
for model in myapp.get_models():
    admin.site.register(model)

在现代版本的 Django 中(我不确定它是否适用于 Django

myapp = apps.get_app_config('myapp')
admin.site.register(myapp.get_models())

【讨论】:

  • 因为它需要一个可迭代的它可能是:admin.site.register([model for model in my app.get_models()])
  • @timj98 在这种情况下你不需要列表理解,你可以做admin.site.register(myapp.get_models())
猜你喜欢
  • 2012-10-12
  • 2016-02-18
  • 2015-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-25
  • 2014-08-20
  • 1970-01-01
相关资源
最近更新 更多