我的admin.py文件出错: 'BaseAdmin.fieldsets [1] [1] ['fields']'指的是表单中缺少的字段'publish_on'。
我的课看起来像:
class Base(models.Model):
...
publish_on = models.DateTimeField(auto_now=True, db_index=True)
...
我的admin.py看起来像:
class BaseAdmin(admin.ModelAdmin):
...
fieldsets = [
('Dates', {
'fields': ('publish_on',)
}),
]
如果我使用'pass'更改我的管理类或只是注册模型类,那么日期时间字段就会出现。
答案 0 :(得分:6)
此错误由auto_now和auto_now_add引起。要补救那个添加
readonly_fields = ("publish_on",)
在您的BaseAdmin中(仅限django 1.2及更新版本。)
答案 1 :(得分:4)
如果您确实想使用auto_now_add,但保留更改日期的可能性,则可以在模型字段中使用default=datetime.now
。这在admin中设置了默认值,但允许用户更改它,并且它可以在内联中工作。