问题: 通过搜索引擎搜索商品时出现bug,TypeError: __init__() got an unexpected keyword argument 'max_digits'
问题:
通过搜索引擎搜索商品时出现bug
TypeError at /skus/search/
__init__() got an unexpected keyword argument 'max_digits'
TypeError: __init__() got an unexpected keyword argument 'max_digits'
ERROR basehttp 124 "GET /skus/search/?id=1 HTTP/1.1" 500 155131
按照如下路径搜索:
http://api.meiduo.site:8000/skus/search/?text=wifi
http://api.meiduo.site:8000/skus/search/?id=1
错误原因:
Django model 字段类型——models.DecimalField
解决办法:
通过搜索引擎搜索商品时出现bug
TypeError at /skus/search/
__init__() got an unexpected keyword argument 'max_digits'
TypeError: __init__() got an unexpected keyword argument 'max_digits'
ERROR basehttp 124 "GET /skus/search/?id=1 HTTP/1.1" 500 155131
按照如下路径搜索:
http://api.meiduo.site:8000/skus/search/?text=wifi
http://api.meiduo.site:8000/skus/search/?id=1
http://api.meiduo.site:8000/skus/search/?name=iphone
错误原因:
Django model 字段类型——models.DecimalField
和search_indexes.py文件中的 字段类型不一致导致了错误
解决办法:
改为一致的字段类型就可以了
如果通过这种办法还是不能解决问题,检查一下settings中的安装包,是否升级
把drf-haystack版本提升到1.8.3
然后再把字段类型改成一致的就OK啦