django use search_fields error (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: | Monday, 22 July 2019 21:07:21 +0800 |
Reason:
search_fields = ('content', 'detail','submitter')
This is a fuzzy query field in the view. The submitter
field is a foreign key ForeignKey field. As a foreign key, it corresponds not to a specific field, but to a class
Therefore, we should map it to a specific field associated with a foreign key, such as submitter__username
search_fields = ('content', 'detail','submitter__username')