在 Django DecimalField 或 FloatField 中过滤 "larger than 0.01"

Filter on "larger than 0.01" in Django DecimalField or FloatField

table 模型可能如下所示:

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 中查询工作正常...

我哪里错了?

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

lt并不意味着大于而是小于。您应该使用 gt 来查找 price 大于 0.01 的对象。 Documentation