2016-04-27 20 views
0

上午有一個模式叫車,其包含以下字段Django的 - 不能關鍵字「總」分解成場

class Cart(models.Model): 
    client = models.ForeignKey(User, null=True) 
    description = models.CharField(max_length = 100) 
    price = models.DecimalField(max_digits=10, decimal_places=2) 
    quantity = models.PositiveIntegerField() 
    ordered = models.BooleanField(default=False) 
    created_on = models.DateTimeField(auto_now_add = True) 

    def __str__(self): 
     return self.description 

    def total(self): 
     return self.price * self.quantity 

我希望得到在Django看法每個項目的總金額。

這裏是車的看法

def cart(request): # Client View 
    request_user = request.user 

    item = Cart.objects.filter(client=request_user, ordered=False).values('total') 
    print "item ", item 

如果我打印的項目,我得到 無法解析關鍵字的「合計」到現場。選擇是:client,client_id,created_on,description,docfile,id,order_id,ordered,price,quantity

但是,如果我打印項目.value('價格'),我得到結果。

有沒有辦法讓總金額得到價值

+0

因爲我有一個班級內的功能總數,我還不能評估它在班級modell – uche

+0

它應該是一列。 –

+1

我不知道你爲什麼要在這裏使用'values'。你可以通過實例本身訪問'total'方法。 –

回答

1

你爲什麼不試試這個?即通過Cart實例訪問total方法。

[i.total() for i in Cart.objects.filter(client=request_user, ordered=False)] 
0

您需要創建將採取每個對象的價格,你的客戶的基礎上,篩選總體功能或者右鍵查詢,如下所示:

total = 0 

    for i in Cart.objects.filter(client=request_user, ordered=False).all(): 
     #print i.price 
     total = total+i.price 

你不能寫values('total'),如您的卡模型中沒有任何字段爲總數。

相關問題