我有以下django模型:
class Article(models.Model):
title = models.CharField(max_length = 200)
body = models.TextField()
created_date = models.DateTimeField(auto_now_add=True)
我还有以下django管理类:
class ArticleAdmin(admin.ModelAdmin):
fields = ['title', 'body']
readonly_fields = ['created_date']
list_display = ['title', 'body', 'created_date']
在django管理员应用中,我可以在文章列表中看到created_date
字段:
但是对于我的生活,当我打开文章时,我无法让created_date
字段呈现(作为只读字段):
我从docs得到了印象,并且从谷歌上搜索将created_date
字段添加到readonly_fields
将允许这种情况发生,即使我已将auto_now_add
设置为True在DateTimeField
上。
我在这里咆哮错误的树吗?
我正在使用django 1.4.2。
答案 0 :(得分:3)
如果您已指定fields
,则需要将该字段添加到fields
。
但是,当您指定ModelAdmin.fields或ModelAdmin.fieldsets时,必须显示只读字段(否则将忽略它们)。
auto_now
魔法让我好几次。