【发布时间】:2019-07-31 02:46:20
【问题描述】:
我有球员、球队和比赛的模型。显然,我有一些 ForeignKey 字段。但是如果我不在 ForeignKey 字段末尾添加“_id”,Django 会引发错误:“no such column: betbot_testmatch.leftTeam_id”
我尝试在我的 ForeignKey 字段末尾添加“_id”,它确实解决了问题,但是在我之前设计的项目中,我一直在使用 FK 字段,字段名称末尾没有任何“_id”没有任何问题。
models.py
from django.db import models
class TestMatch(models.Model):
leftTeam = models.ForeignKey('TestTeam', on_delete=models.DO_NOTHING, related_name='+', default='Left Team')
rightTeam = models.ForeignKey('TestTeam', on_delete=models.DO_NOTHING, related_name='+', default='Right Team')
class TestTeam(models.Model):
name = models.CharField(max_length=30, default='Team')
urlslug = models.SlugField(max_length=5)
class TestPlayer(models.Model):
name = models.CharField(max_length=100, default='Player')
nick = models.CharField(max_length=20, default='Nickname')
team_id = models.ForeignKey('TestTeam', on_delete=models.DO_NOTHING, default='Team')
#photo = models.ImageField(upload_to='', null=True)
No = 'N'
Yes = 'Y'
STANDIN_CHOICES = [
(Yes, 'Yes'),
(No, 'No'),
]
standin = models.CharField(max_length=5, choices=STANDIN_CHOICES, default=No)
slug = models.SlugField(max_length=20, default=nick)
我希望我可以将我的名字用于 ForeignKey 字段而不会出错。
【问题讨论】:
-
嘿@KochetovMXM 您确定在更改模型结构后您已经正确运行了一次迁移吗?