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:UsersWMAppDataLocalProgramsPythonPython36libsite-packagesdjangodbmodelssqlquery.py in build_lookup, line 1075 |
| Python Executable: | C:UsersWMAppDataLocalProgramsPythonPython36python.exe |
| Python Version: | 3.6.5 |
| Python Path: | ['F:git_codeemergency_itilEmergencyResponse', 'F:git_codeemergency_itilEmergencyResponse', 'E:PyCharm 2019.1.1helperspycharm_display', 'C:UsersWMAppDataLocalProgramsPythonPython36python36.zip', 'C:UsersWMAppDataLocalProgramsPythonPython36DLLs', 'C:UsersWMAppDataLocalProgramsPythonPython36lib', 'C:UsersWMAppDataLocalProgramsPythonPython36', 'C:UsersWMAppDataRoamingPythonPython36site-packages', 'C:UsersWMAppDataLocalProgramsPythonPython36libsite-packages', 'E:PyCharm 2019.1.1helperspycharm_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')