假设我有一个名为 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 的值相关的 Car 对象。
请您参考如下方法:
尝试使用以下内容:
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)
