如何做少于django queryset与列参数

bqujaahr  于 2022-12-01  发布在  Go
关注(0)|答案(1)|浏览(111)

我想把我的股票数成这个sql代码:

SELECT COUNT(*) FROM management_stock
WHERE stockCount < minStock

如何在django queryset中执行该查询?

Stock.objects.all().filter(stockCount__lt=minStock).count()

我的表是这样的:

class Stock(models.Model):
    product = models.OneToOneField(Product, on_delete=models.CASCADE)
    bengkel = models.OneToOneField(Bengkel, on_delete=models.CASCADE)
    stockCount = models.PositiveIntegerField()
    minStock = models.PositiveIntegerField()

我试过了,我的错误是:名称错误:名称'minStock'未定义。

jq6vz3qz

jq6vz3qz1#

您可以使用**F**-expression [Django-doc]来引用字段,因此:

from django.db.models import F

Stock.objects.filter(stockCount__lt=F('minStock')).count()

相关问题