我正在尝试制作FormFilter。
我的模型中有类似的东西:
class TabelaPrecoItem(models.Model):
[...]
preco = models.FloatField()
。
我的FormFilter:
class TabelaItemProdutosFilter(django_filters.FilterSet):
preco__gte = django_filters.NumberFilter(lookup_expr='gte')
preco__lte = django_filters.NumberFilter(lookup_expr='lte')
class Meta:
model = TabelaPrecoItem
fields = ['preco__gte', 'preco__lte']
当我填写输入并进行搜索时,出现以下错误:对FloatField的不支持的查找'gte'或不允许在字段上加入。
我没有找到任何可以帮助我的东西。我已经尝试使用NumericRangeField,但是我不知道如何将其放在模板的2个不同输入中。
我确定的是,您可以在FloatFields上使用__gte
和__lte
过滤器。我不知道“不允许参加比赛”的另一种可能性是什么。我通常使用功能更强大的表示形式对过滤器字段进行编码,例如
fields = {
'desc__ft':['gte','lte','exact'],
...
}
这将在通过外键字段ft
访问的对象的Float字段desc
上产生三个过滤器。
fields
中的声明性过滤器和条目是否互斥?您似乎在告诉它以两种不同的方式创建相同的两个过滤器。