教程说:
class ProductFilter(django_filters.FilterSet):
min_price = django_filters.NumberFilter(lookup_type='gte')
max_price = django_filters.NumberFilter(lookup_type='lte')
class Meta:
model = Product
fields = ['category', 'in_stock', 'min_price', 'max_price']
但是当我尝试这样做时,我收到一个错误:
FieldError: Cannot resolve keyword u'min_price' into field. Choices are: cantidad, datetime, enlace, id, id_fila, nivel
min_price
不在我的模型中,但我需要创建一个新参数。 (这是一个例子)
我真的需要过滤日期。
答案 0 :(得分:4)
请参阅django-filter documentation。
由于您的min_price
和max_price
过滤器与其引用的模型字段的名称不同,因此您需要提供name
参数。
class ProductFilter(django_filters.FilterSet):
min_price = django_filters.NumberFilter(name='price', lookup_type='gte')
max_price = django_filters.NumberFilter(name='price', lookup_type='lte')
class Meta:
model = Product
fields = ['category', 'in_stock', 'min_price', 'max_price']