在模型中包含Admin类?

时间:2011-11-29 18:25:25

标签: django django-models django-admin

我经常在其他项目的代码中看到这样的例子:

class Modela(models.Model):
    abbr = models.CharField()
    name = models.TextField()

    class Admin:
        list_display = ('abbr', 'name',)

不幸的是,当我在自己的代码中执行此操作,然后使用以下命令注册模型时

admin.site.register(Modela)

... list_display变量被忽略,我得到数据库中每个条目的__str__输出。

我是否真的需要为每个班级编写单独的ModelAdmin课程,或者有没有办法按上述方式执行?

1 个答案:

答案 0 :(得分:3)

这个语法来自一个非常古老的Django版本 - pre-'newforms-admin',它在三年前发布1.0之前合并。它不再起作用了,绝对没有理由使用它。

如果您只想更改list_display,则无需创建类:您可以将其传递给注册调用:

admin.site.register(Modela, list_display=('abbr', 'name'))