说这是我的简单models.py
class Order(models.Model):
quantity = models.IntegerField()
item_price = models.FloatField()
我希望有一个计算总价的功能:
def calc_total(self):
return self.quantity * self.item_price
现在,如何创建模型字段total_price
,以便在数据库中自动填充?我知道我可以在模板中使用calc_total
方法,但我也需要在db中使用它。
答案 0 :(得分:1)
重写模型中的save
方法,以便在每次保存模型时设置值:
class Order(models.Model):
quantity = models.IntegerField()
item_price = models.FloatField()
total_price = models.FloatField()
def calc_total(self):
return self.quantity * self.item_price
def save(self, *args, **kwargs):
self.total_price = self.calc_total()
super(Order, self).save(*args, **kwargs)