我有一个简单的对象过滤器,它使用price__lt
和price__gt
。这适用于我的产品模型上的一个名为 price 的属性,它是一个CharField
[string](十进制看到相同的错误,并导致聚合出现问题,因此恢复为字符串)。
似乎在将这些值传递给过滤器时,它们被以一种奇怪的方式处理,例如 10 被视为 100。例如:
/products/price/10-200/
退货价格为 100-200 的产品。过滤器作为 filterargs: 传入 FILTER ARGS: {'price__lt': '200', 'price__gt': '10'}
。这也打破了 price/0-170 不会返回价格为 18.50 的产品的意义;出于某种原因,它将 170 视为“小于 18”。
知道什么会导致这种情况,以及如何解决它?谢谢!