2017-08-31 70 views
0

我想對模型執行行級數學並將結果顯示在模板中。該數據庫每天爲每家公司提供一行。輸出計算到模板

class MyModel(models.Model): 
    company = model.CharField(... 
    daily_target = model.PositiveSmallIntger(... 
    actual = model.PositiveSmallIntger(... 
    date = model.DateField(... 

在模板中,我想顯示登錄的公司100 * actual/daily_target的結果。我在python解釋器中做這件事沒有問題,但是對於如何使用視圖&模板做到這一點感到困惑。在您的模板然後

class MyModel(models.Model): 
    company = model.CharField(... 
    daily_target = model.PositiveSmallIntger(... 
    actual = model.PositiveSmallIntger(... 
    ... 

    @property 
    def pct_target(self): 
     return 100. * self.actual/self.daily_target 

回答

1

您可以將屬性添加到模型

{% for item in queryset %} 
    {{ item.pct_target }} 
{% endfor %} 

這樣做的缺點是,你不能過濾或財產訂購查詢集。另一個選項是annotate您的查詢集與計算字段。