2016-04-21 40 views
0

如何制作一个模型,该模型的字段值是从另一个模型的字段自动设置的?如何制作动态模型的字段值?

例子:

1模型

class PurchasingDetail(models.Model): 
    .... 
    weight = models.DecimalField(max_digits=8, decimal_places=2, validators=[MinValueValidator(Decimal('0.1'))], help_text="kilogram") 
    .... 

第二模型

class Warehouse(models.Model): 
    .... 
    total_weight = models.DecimalField(max_digits=8, decimal_places=2) 
    .... 

我要的是在Warehouse.total_weight总是设置所有weightsumPurchasingDetail。因此,如果我在PurchasingDetail上插入新数据,则会更新Warehouse

谢谢。

回答

1

使total_weight成为调用查询集并返回总和的属性,不需要将其保存到数据库。

@property 
def total_weight(self): 
    return queryset_with_sum_annotation.values('sum_value').sum_value 
相关问题