django admin没有显示抽象基类字段

时间:2016-05-15 20:31:38

标签: django django-models django-admin

我有

class BaseModelMixin(models.Model):
    class Meta:
        abstract = True
    uuid = models.UUIDField(default=uuid4, editable=False, db_index=True)
    created_on = models.DateTimeField(default=now, editable=False, blank=True)
    updated_on = models.DateTimeField(default=now, editable=False, blank=True)

class Something(BaseModelMixin):
    whatever = models.TextField(blank=True, null=True)

class SomethingElse(BaseModelMixin):
    whoever = models.TextField(blank=True, null=True)
管理站点上的

,对于每个Something,我看到了什么,但不是uuid,created_on或updated_on。我一定错过了一些明显的东西......如果django管理员没有自动向我显示这些字段,那就太令人惊讶了。

我绝对想要摘要;我不想要一个额外的表,我希望uuid,created_on,updated_on字段在具体的类表中,它们是。他们只是没有出现在django管理网站上。

我做错了什么?

Anoop的答案部分正确:

class BaseModelMixinAdmin(admin.ModelAdmin):
    readonly_fields=('uuid','created_on','updated_on')

但随后也是:

admin.site.register(Something, BaseModelMixinAdmin)
admin.site.register(SomethingElse, BaseModelMixinAdmin)

......这有点令人恼火,我必须这样做,但哦,好吧,它不是那么糟糕......

1 个答案:

答案 0 :(得分:2)

如果您只想查看管理面板中的不可编辑字段。在模型管理中使用read only fields

class BaseModelMixinAdmin(admin.ModelAdmin):
    readonly_fields=('uuid',)