0
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)
在管理網站
,對於每一個東西,我看什麼,但不是的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)
...這是一個有點刺鼻,我要做到這一點在所有的,但哦好吧,它不是那麼糟糕......
'editable = False'字段默認情況下不顯示。考慮這個http://stackoverflow.com/q/3967644/1925257 – xyres