2017-02-06 79 views
0

我需要從分貝過濾由一些值的所有對象的每個對象過濾器的值從數據庫

在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__gteorder爲每個對象。

有沒有可能沒有for循環?

隨着for循環我可以檢查並append正確的許多新lot_list

回答

1

是有可能得到這個沒有for循環在Django

from django.db.models import F 
Lot.objects.filter(lot_status=True,stock__gte=F('order')) 
+0

當我真正要做到這一點我收到錯誤:例外值:\t 全局名稱'min_order'未定義 – Hellbea

+0

我的不好,我已經更新了我的答案,請檢查。 – MicroPyramid

+0

現在是問題,它從所有對象的最小訂單值,並過濾所有對象的這個值:)但不是每個對象的順序對每個對象股票 – Hellbea