【问题标题】:Getting 'foreign key mismatch' error when making migrations in Django model在 Django 模型中进行迁移时出现“外键不匹配”错误
【发布时间】:2023-04-01 23:41:01
【问题描述】:

我有一个这样的模型游戏(我正在定义 PK 字段,因为我通过带有 gameID 的 API 调用填充此表):

class Game(models.Model):
    gameId          = models.IntegerField(primary_key=True, default=-1)
    season          = models.PositiveIntegerField()
    season_type     = models.CharField(max_length=50)
    dateTime        = models.DateTimeField(auto_now_add=True)
    ...
    ...

还有一个 GameOdd 模型:

class GameOdd(models.Model):
    game                     = models.ForeignKey(Game, on_delete=models.CASCADE)
    sportsbook               = models.CharField(max_length=75)
    created_when             = models.DateTimeField(auto_now_add=True)
    ...
    ...

错误消息显示“外键不匹配 - “bets_gameodd”引用“bets_game””(bets 是应用程序的名称)。我正在使用一个 sqlite 数据库,它是空的(除了我的管理员用户配置文件)。这似乎是一个相对简单的外键关系,我先定义父表。我很困惑为什么我会收到这个错误。有什么想法吗?

【问题讨论】:

    标签: django sqlite django-models foreign-keys django-migrations


    【解决方案1】:

    https://community.simpleisbetterthancomplex.com/t/foreign-key-mismatch-error/143

    据此,删除所有迁移文件和SQLite文件,然后再次运行python manange.py makemigrations

    【讨论】:

      猜你喜欢
      • 2020-08-24
      • 2018-12-20
      • 2014-11-03
      • 2016-04-02
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      相关资源
      最近更新 更多