Поделитесь опытом, как форматировать вывод списка данных в админке. К примеру изменить вывод стандартного отображения даты, где-то добавить некий текст. В моем случае все проходит дополнительными функциями в классе, и как по мне это издевательство и говнокод. Получаеться что я в логике переопределяю шаблон и такого быть не должно.
class EPSAdmin(BaseAdmin):
form = EpsForm
list_display = ('info_tag_1', 'info_tag_2', 'info_tag_3', 'info_tag_updated_at', 'is_active')
# колонка 1
def info_tag_1(self, obj):
if not (obj.pk and obj.icon):
return u'<table><tr><td></td><td><b>' + obj.name + '</b><br/>' + obj.smallname + '</td></table>'
return u'<table><tr><td><img src="' + obj.icon.url + '" width="32px"/></td><td><b>' + obj.name + '</b><br/>' + obj.smallname + '</td></table>'
info_tag_1.short_description = _('eps.admin.info_tag_1.short_description')
info_tag_1.allow_tags = True
# колонка 2
def info_tag_2(self, obj):
if not obj.pk:
return ''
return _(
'eps.admin.info_tag_2 %(currency)s %(commission_percent)s %(commission_min)s %(commission_max)s %(commission_extra)s.') % {
'currency': obj.currency.code,
'commission_percent': str(obj.commission_percent) + "%", 'commission_min': obj.commission_min,
'commission_max': obj.commission_max, 'commission_extra': obj.commission_extra}
info_tag_2.short_description = _('eps.admin.info_tag_2.short_description')
info_tag_2.allow_tags = True