我試圖讓django admin的字段集中的一個字段僅顯示某些數據,但根據django document,只有list_display
的示例顯示爲可以自定義。我嘗試了類似的方法上fieldsets
類似如下:django admin:如何在字段集中自定義一個字段?
在models.py:
def ports_with_same_scanner(self):
return PortList.objects.filter(scanner=self.scanner)
ports_with_same_scanner.short_description = 'port_lists'
在admin.py,這是不行的:
fieldsets = (
('Scan Template', {
'fields': (('name', 'scanner', 'ports_with_same_scanner',), 'comment', ('in_use',
'fc_growing', 'nc_growing'), 'nvt_prefs')
}),
)
但是,如果我這樣做這個:
list_display = ('name', 'scanner', 'ports_with_same_scanner', 'comment', 'in_use', 'fc_growing', 'nc_growing', 'nvt_prefs')
ports_with_same_scanner
工作得很好。問題是我不想將我的顯示從fieldsets
更改爲list_display
,我不知道如何實現相同的功能。謝謝。
由於' ports_with_same_scanner'不是模型上的實際字段,上面的代碼沒有出錯?如果我試圖在我的'fieldsets'定義中定義一個非模型字段,Django會爲MyModel指定'FieldError:Unknown field(s_field_1,my_field_2)。檢查字段/字段集/排除MyModelAdmin.'類的屬性,並且在它調用formfield_for_foreignkey()方法之前將其刪除。你如何定義'ports_with_same_scanner'以保持Django快樂? – Troy 2015-04-17 19:21:51