从Db按值过滤

时间:2017-02-06 14:18:21

标签: django django-models django-views django-filter

我需要通过db为每个对象的某个值过滤所有对象

models.py中的

class CurrencyLot(models.Model):
    seller = models.ForeignKey(User, on_delete=models.CASCADE)
    stock = models.PositiveIntegerField()
    order = models.PositiveIntegerField()
    lot_status =models.BooleanField()
    created_at = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
在view.py中

def currency_list(request):
    lot_list = Lot.objects.all().filter(lot_status=True).filter(stock__gte=???)
    return render(request, 'lots/list.html', {"lot_list":lot_list})

每个对象需要stock__gte order

没有for循环可以吗?

使用for循环,我可以检查此内容并append将批次更正为新lot_list

1 个答案:

答案 0 :(得分:1)

是的,有可能在Django

中没有for循环
from django.db.models import F
Lot.objects.filter(lot_status=True,stock__gte=F('order'))