过滤"大于0.01"在Django DecimalField或FloatField中

时间:2016-09-06 10:46:35

标签: django django-models django-orm

表格模型可能如下所示:

def product(models.Model):
    price = models.DecimalField(max_digits=20, decimal_places=4, default=Decimal('0.0500'))
    alt_price = models.FloatField(default=0.05)

查询类似于:

p = Product.objects.filter(price__lt=Decimal('0.01'))

或:

p = Product.objects.filter(alt_price__lt=0.01)

不幸的是,这对我没有用。我有很多符合要求的产品。在MySQL中查询确实可以正常工作......

我哪里错了?

1 个答案:

答案 0 :(得分:3)

lt中的{p> p = Product.objects.filter(price__lt=Decimal('0.01'))并不意味着大于但小于。您应该使用gt查找price大于0.01的对象。 Documentation