我正在尝试制作一个 FormFilter。
我的模型中有类似的东西:
class TabelaPreco(models.Model):
[...]
class TabelaPrecoItem(models.Model):
[...]
preco = models.FloatField()
tabela_preco = models.ForeignKey('TabelaPreco', on_delete=models.CASCADE, related_name='itens')
.
我的表单过滤器:
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 个不同输入中。
. .
编辑:我认为问题出在我的查询集中。我改变了我上面的模型。
form_filter = TabelaItemProdutosFilter(request.GET, queryset=tabela_preco.itens.select_related('produto', 'produto__modelo').filter(produto__saldo__gt=0).order_by('-produto__codigo'))
其中 tabela_preco 是我的模型 TabelaPreco 的对象