[英]how to use new table as a foreign key in existing table in django
大家好,我在 Dailytrip 中有兩個 model 1,第二個是團隊,我需要在 Dailytrip model 中使用團隊 model 作為外鍵,同時運行 Makemigrations 出現錯誤。 我正在使用 django-2.2 和 python 3.7
模型.py
class DailyTrip(BaseModel):
date = models.DateField(default=None)
Team=models.ForeignKey(
Team,
models.CASCADE,
verbose_name='Team',
null=True,
default=None
)
class Team(BaseModel):
name = models.CharField(max_length=30)
def __str__(self):
return self.name
錯誤
class DailyTrip(BaseModel):
File "E:\11-march-2022\everest_jarvis\fleet\models.py", line 595, in DailyTrip
Team,
NameError: name 'Team' is not defined
發生這種情況的原因是因為您在定義Team
之前定義了ForeignKey
。 您可以先定義Team
,因此:
class Team(BaseModel):
# …
pass
class DailyTrip(BaseModel):
# …
Team = models.ForeignKey(
Team,
models.CASCADE,
verbose_name='Team',
null=True,
default=None
)
或者如果那不可能,請使用字符串文字:
class DailyTrip(BaseModel):
# …
Team = models.ForeignKey(
'Team',
models.CASCADE,
verbose_name='Team',
null=True,
default=None
)
class Team(BaseModel):
# …
注意:通常 Django model 中的字段名稱是用snake_case寫的,而不是PascalCase ,所以應該是:
team
而不是。Team
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.