我想在數據庫中已存在數據的情況下在管理員窗體上顯示嵌入式地圖。我有以下代碼:如何在django ModelAdmin字段集中調用模型方法?
models.py
class Address(models.Model):
address = models.CharField()
def address_2_html(self):
if self.address:
# Return html for an embedded map using the entered address.
return embedded_map_html
else:
return ''
address_2_html.allow_tags = True
admin.py
class AddressAdmin(admin.ModelAdmin):
fieldsets = [(label, {'fields': ['address','address_2_html']}),]
這是行不通的。我得到一個錯誤:
'AddressAdmin.fieldsets[1][1]['fields']' refers to field 'address_2_html' that is missing from the form.
我試着用了「字段集」的「說明」選項,另一件事然而,「address_2_html」不是AddressAdmin的範圍內使用。我使用'描述'嵌入了一張靜態地圖,但這個地圖很酷但不夠酷。
我得到以下錯誤這種解決方案:「AddressAdmin.fieldsets [0] [1] [」字段「]」是指字段「address_2_html」是從表單丟失。 – 2013-02-08 17:50:17
如果'display_map3'與您的'address_2_html'相當於您的示例,您是否像在我的示例中那樣將'display_map3'放入'readonly_fields'中? – Etienne 2013-02-08 17:52:59
該解決方案適用於'list_display',但不適用'fieldsets'。 – 2013-02-08 17:53:08