Я хочу отобразить встроенную карту в форме администратора, когда данные уже существуют в db. У меня есть следующий код:Как я могу назвать метод модели в django ModelAdmin fieldsets?
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.
Другая вещь, которую я попробовал было с помощью опции «описание» для «fieldsets», однако, «address_2_html» не доступен в пределах AddressAdmin. Мне удалось внедрить статическую карту, используя «описание», которое было круто, но не достаточно прохладно.
Я получаю следующее сообщение об ошибке с этим решением: «AddressAdmin.fieldsets [0] [1] [» поля «]» относится к полю «address_2_html», который отсутствует в форме. –
Если 'display_map3' эквивалентен вашему 'address_2_html' в вашем примере, вы положили 'display_map3' в 'readonly_fields', как в моем примере? – Etienne
Это решение работает для «list_display», но не «fieldsets». –