Почему я не могу вызвать свою функцию (order_detail) в файле администратора django?

django.core.management.base.SystemCheckError: SystemCheckError: Проверка системы выявила некоторые проблемы:

ERRORS: <class 'orders.admin.OrderAdmin'>: (admin.E108) Значение 'list_display[10]' ссылается на 'order_detail', который не является вызываемым, атрибутом 'OrderAdmin', или атрибутом или методом 'orders.Order'.

Проверка системы выявила 1 проблему (0 замалчивается).

my django admin.py

def order_detail(obj):
    return '<a href="{}">View</a>'.format(reverse('orders:admin_order_detail',
                                                  args=[obj.id]))


order_detail.allow_tags = True


# @admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
    list_display = ['id', 'first_name', 'last_name', 'email',
                    'address', 'postal_code', 'city', 'paid', 'created', 'updated', 'order_detail']
    list_filter = ['paid', 'created', 'updated']
    inlines = [OrderItemInline]
    actions = [export_to_csv]


admin.site.register(Order, OrderAdmin)

Вы должны изменить 'order_detail' на order_detail.

Строки будут интерпретированы django как атрибуты класса модели или администратора. Указание order_detail сообщит django, что это вызываемый объект.

Вернуться на верх