Доступ к данным модели ForeingKey в Django
Мне нужно получить доступ к данным модели ForeignKey, но я не знаю как. Я написал это как простой пример того, что я хочу сделать:
class Model1(models.Model):
name = models.CharField(max_length=100)
phone_number = models.BigIntegerField()
class Model2(models.Model):
model1 = models.ForeignKey(Model1, on_delete=models.CASCADE)
name = model1.name
phone_number = model1.phone_number
Выдает следующее сообщение об ошибке:
AttributeError: 'ForeignKey' object has no attribute 'name'
Если вы пишете model1.name
, это нацелено на получение атрибута ForeignKey
объекта, а не объекта, на который ссылается ForeignKey
модель объекта .
Вы можете определить два свойства для получения .name
и .phone_number
связанного Model1
объекта:
class Model2(models.Model):
model1 = models.ForeignKey(Model1, on_delete=models.CASCADE)
@property
def name(self):
return self.model1.name
@property
def phone_number(self):
return self.model1.phone_number