django使用search_fields报错

Posted jiumo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django使用search_fields报错相关的知识,希望对你有一定的参考价值。

django使用search_fields报错(in get_lookup_constraint)

FieldError at /api/workorder/order/

Related Field got invalid lookup: icontains
Request Method: GET
Request URL: http://127.0.0.1:8000/api/workorder/order/?search=1
Django Version: 2.0
Exception Type: FieldError
Exception Value: Related Field got invalid lookup: icontains
Exception Location: C:\Users\WM\AppData\Local\Programs\Python\Python36\lib\site-packages\django\db\models\sql\query.py in build_lookup, line 1075
Python Executable: C:\Users\WM\AppData\Local\Programs\Python\Python36\python.exe
Python Version: 3.6.5
Python Path: [‘F:\git_code\emergency_itil\EmergencyResponse‘, ‘F:\git_code\emergency_itil\EmergencyResponse‘, ‘E:\PyCharm 2019.1.1\helpers\pycharm_display‘, ‘C:\Users\WM\AppData\Local\Programs\Python\Python36\python36.zip‘, ‘C:\Users\WM\AppData\Local\Programs\Python\Python36\DLLs‘, ‘C:\Users\WM\AppData\Local\Programs\Python\Python36\lib‘, ‘C:\Users\WM\AppData\Local\Programs\Python\Python36‘, ‘C:\Users\WM\AppData\Roaming\Python\Python36\site-packages‘, ‘C:\Users\WM\AppData\Local\Programs\Python\Python36\lib\site-packages‘, ‘E:\PyCharm 2019.1.1\helpers\pycharm_matplotlib_backend‘]
Server time: 星期一, 22 七月 2019 21:07:21 +0800

异常原因:

search_fields = ('content', 'detail','submitter')

这是在view中模糊查询的字段,其中submitter字段是一个外键ForeignKey字段,而作为一个外键,它所对应的不是一个具体的字段,而是一个类。

所以我们应该将其对应成为一个外键关联的摸一个具体的字段,如submitter__username

search_fields = ('content', 'detail','submitter__username')

以上是关于django使用search_fields报错的主要内容,如果未能解决你的问题,请参考以下文章

django如何在 search_fields和list_filter 中包含外键字段

管理员 search_fields 中的 Django UUIDField

django 连接mysql报错

为本地开发设置 django 和 dj-database-url

dgango中admin下添加搜索功能

dgango中admin下添加搜索功能