首页 > 解决方案 > 从外键中指定的模型中引用字段

问题描述

假设我有一个看起来像这样的汽车模型:

class Car(models.Model):
     car_model = models.CharField(max_length=100)
     car_number = models.IntegerField()

我还有一个车轮模型,现在看起来像这样:

class Wheel(models.Model):
    car = models.ForeignKey(Car, on_delete=models.CASCADE)

我想指定一个车轮的型号,所以它必须和它的汽车型号一样。

类似的东西:

class Wheel(models.Model):
    car = models.ForeignKey(Car, on_delete=models.CASCADE)
    wheel_model = car.car_model

我怎样才能做到这一点?因此,如果我的 car_model 是 BMW,我还希望自动设置 wheel_model BMW

标签: pythondjango

解决方案


wheel_model您可以在 上定义一个属性Wheel

class Wheel(models.Model):
    car = models.ForeignKey(Car, on_delete=models.CASCADE)

    @property
    def wheel_model(self):
        return self.car.car_model

现在您可以访问它了

wheel_obj.wheel_model


推荐阅读