我需要訪問 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'
uj5u.com熱心網友回復:
如果你寫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
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367916.html
