2016-05-28 21 views
0

モデル内のフィールドを計算した後、私は私のテンプレート計算値(集約)が表示さ

モデルでは、このフィールドを表示する:

def _get_total(self): 
      from inventory.models import Inventory 
      from purchase.models import POproduct 
      from sales.models import SOproduct 
     # "Returns the total" 

      return Inventory.objects.filter(warehouse_Bin__material_UOM__UOM__material=self.id).aggregate(Sum('quantity')) 
      #- SOproduct.objects.filter(product__material=self.id).aggregate(Sum('quantity')) 
    #POproduct.objects.filter(Product__material=self.id).aggregate(Sum('quantity')) 

    total = property(_get_total) 

テンプレート:

<div> <b>total on hand:</b> {{ data.material.total }}</div> 

しかしテンプレート表示される値を普通の数値の代わりにこの形式で表示する

手持ちの

合計:{「quantity__sum」:小数('97 0.00000' )}

私はsum関数に出力フィールド= models.DecimalField()、パラメータを追加しようとしているが、私は理解していないエラーを取得しました。

'DecimalFieldは' オブジェクトには属性 'resolve_expression

'

答えて

3

あなたはメトから結果セットを返すされていません dはdictで、Decimal値だけを返します。

quantity = Inventory.objects.filter(warehouse_Bin__material_UOM__UOM__material=self.id).aggregate(Sum('quantity')) 
return quantity['quantity__sum'] 
関連する問題