Django搜索字段invalid lookup: icontains错误

在Django的Admin模块里使用search搜索字段时,出现了以下错误:

Request Method: GET
Request URL: http://127.0.0.1:8000/admin/exp/status/?q=452734380932
Django Version: 2.2.1
Exception Type: FieldError
Exception Value: Related Field got invalid lookup: icontains

Admin模块对应的代码:

class StatusAdmin(admin.ModelAdmin):
    list_display = ('event','event_date')
    search_fields = ['event']

错误原因是,event是一个ForeignKey字段,直接操作是无法获得值的,我们需要去外键目标的表里去读取该值,比如我们这里的ForeignKey字段event去获取外键目标里event的取值,那么这样修改:

class StatusAdmin(admin.ModelAdmin):
    list_display = ('event','event_date')
    search_fields = ['event__event']

即在ForeignKey字段后面加上两个下划线加目标字段(__keyname)


除非标明,否则皆为<IT民工の在日生活 - 神户印象>原创之作,转载必须以明文链接标明出处。
本文链接:https://www.lifeinjp.net/share/336

发表评论