0

我正在尝试将搜索选项添加到我的 django 管理页面。请查看下面的代码。

class ApplicationAdmin(admin.ModelAdmin):

def get_name(self, obj):
    return obj.user.first_name + ' ' + obj.user.last_name
list_display = ('get_name', ... ... )
#search_fields = ['first_name', 'last_name'
search_fields = ['get_name']

此实现返回 FieldError,因为 search_fields 属性似乎无法将方法“get_name”作为元素。

有没有办法让 search_fields 将 'get_name' 方法作为一个元素?

4

1 回答 1

0

Django 无法搜索您发现的属性。但是,您可以简单地将first_nameandlast_name字段添加到您的字段中search_fields,它将按预期工作。

如果您需要对整个名称值进行精确匹配,我的建议是添加一个非规范化字段,可能称为full_name通过 post_save 信号保持同步。

于 2015-06-08T18:34:45.960 回答