我正在学习Django REST Framework。我想在django rest框架中使用django-filter来选择我想要的结果。我写了一个filter.py来获得价格介于pricemin和pricemax之间的商品。。。
运行项目时出现:
TypeError at /goods/
init() got an unexpected keyword argument ‘name’
解决方法:
将:
pricemin = django_filters.NumberFilter(name=‘shop_price’, lookup_expr=‘gte’)
改为:
pricemin = django_filters.NumberFilter(field_name=‘shop_price’, lookup_expr=‘gte’)
原因:
Filter.name改名为Filter.field_name
过滤器名称已重命名field_name为一种消除FilterSet类中过滤器属性名称的field_name方法,用于过滤目的。
所以,从django-filter==2.0开始,使用field_name而不是name