我已经将自定义字段添加到list_display,但是当在django admin中添加该字段list_editable时出现错误:adminE121

时间:2020-03-04 12:04:45

标签: django django-admin

我在模型管理类上有一个方法,可以在list_display上获取反向关系字段的数据,但是当我在list_editable中也添加该字段时,也会出现错误

<class 'app.admin.CustomerAdmin'>: (admin.E121) The value of 'list_editable[2]' refers to 'box_status', which is not an attribute of 'app.Customer'.

这些是模型管理类

@admin.register(Customer)
class CustomerAdmin(AbstractModelAdmin):
    class Media:

    list_display = ['name', 'email', 'phone', 'stylist', 'box_schedule', 'drop_off_step', 
                    'box_status', 'age''created_at', 'payment_status']
    list_display_links = ('name', 'email')
    search_fields = ['name', 'email', 'id']
    list_editable = ['stylist', 'payment_status', 'box_status']

下面是我从相关模型字段获取的box_status方法。

    def box_status(self, obj):
        det = list(obj.box.values_list('box_status', flat=True))
        return det

这在list_display中有效,但在list_editable中系统错误。

2 个答案:

答案 0 :(得分:1)

例如,您正在使用可编辑列表中的方法。 Django仅允许在list_editable中编辑模型字段。不是从方法中“返回”。

答案 1 :(得分:0)

相关问题