' STR'对象没有属性'验证' Django ModelAdmin

时间:2014-07-18 18:26:07

标签: django django-models django-admin

所以我一直在网上看,但我找不到答案

我想自动将所有模型与各自的modeladmin注册。 所以我这样做了:

  for model in get_models(get_app('maksc')):
      modeladmin = ('' +  str(model) + 'Admin')
      admin.site.register(model, modeladmin)

但它似乎不起作用,如果你需要更多信息,我会把它给你。

"<class 'maksc.models.Header'>Admin"

无论如何我找不到解决方法

1 个答案:

答案 0 :(得分:0)

我实际上更喜欢在管理员中明确注册模型,但是:

for model in get_models(get_app('maksc')):
    modeladmin = locals().get(model.__name__ + 'Admin')
    if modeladmin:
        admin.site.register(model, modeladmin)

使用model.__name__将模型类名称作为字符串,将其与Admin连接,并从locals()获取Model Admin类。