假设我有一个名为 Car 的django模型和另一个名为 UserCar 的模型,它有一个相关的汽车对象。
class Car(models.Model):
name = models.CharField(max_length=100)
mpg = models.DecimalField(max_digits=6, decimal_places=2, null=True)
class UserCar(models.Model):
car = models.ForeignKey('Car')
mpg = models.DecimalField(max_digits=6, decimal_places=2, null=True)
我想覆盖 UserCar 上的保存功能,以便如果没有指定mpg的值,则模型实例预先填充了mpg的值on相关的Car对象。
答案 0 :(得分:3)
尝试使用以下内容:
class UserCar(models.Model):
... # your fields here
# Override the save function here
def save(self, *args, **kwargs):
if self.mpg is None:
self.mpg = self.car.mpg
super(UserCar, self).save(*args, **kwargs)