2013-07-31 14 views
2

我有一個定義DateTimeField字段的模型:Django的異常試圖表明一個管理員窗體上的DateTimeField字段時

dateAdded = models.DateTimeField("Date Added", auto_now_add=True) 

在我的ModelAdmin子類我試圖表現出以下字段設置字段:

fieldsets = (
    (None, { 
     'fields': (
      ("modelId", "altModelIds", "modelName", "dateAdded"), 
      ("manufacturer", "protocol", "category"), 
      ("versionAdded", "proOnly", "published", "discontinued"), 
      "notes" 
     ) 
    }), 

,但我得到了以下錯誤:

FieldError: Unknown field(s) (dateAdded) specified for Device 

有趣的是,不過,當我把它添加到李st_display:

list_display = ("modelName", "published", "modelId", "altModelIds", "manufacturer", "protocol", "category", "dateAdded") 

它工作正常。我確信我只是在做一些愚蠢的事情(我已經離開了Django大約8個月),但我無法弄清楚。任何幫助,將不勝感激。

+0

plesse發佈完整models.py和admin.py –

回答

6

由於標記爲auto_now_add的datetimefield模型字段類型也隱式給出editable = False,因此它們不會顯示在更改表單上。如果您在ModelAdmin類中設置的字段中指定字段,則顯然不會將其視爲模型,因爲它是隻讀的。實際上,由於它在模型中,實際上是錯誤消息,但事實就是這樣。

現在弄清楚如何在模型的變化表單上顯示字段只讀(但這是一個不同的問題)。

相關問題