假设我有一个名为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上的save函数,以便如果未指定mpg的值,则在相关Car对象上使用mpg的值预填充模型实例。

最佳答案

尝试使用以下内容:

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)

关于python - Django模型,其中字段基于另一个字段,除非另有说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39355835/

10-12 16:42