使用外键保存对象

时间:2015-05-17 15:07:28

标签: python django

models.py:

class Car(models.Model):
    cost = models.PositiveIntegerField()


class Detail(models.Model):
    car = models.ForeignKey(Car, blank=True, null=True,)
    name = models.CharField()
    price = models.PositiveIntegerField()

    def save(self, *args, **kwargs):

        if self.car:
            self.car.cost += self.price

        super(Detail, self).save(*args, **kwargs)

逻辑是:当我们向汽车添加新细节时,例如引擎(售价5000美元),我们需要提高汽车价格(car.cost + 5000)

一切都很好,但汽车的成本不会更新。

如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

更新费用后

self.care.save()