升级到django 1.11多少列未找到

时间:2018-03-12 17:21:45

标签: django postgresql unit-testing django-migrations

我正在将项目从Django 1.10.8升级到1.11,我的单元测试中突然出现了奇怪的错误。

我使用了轻微的黑客来更新现有的多对多关系以使用自定义'通过'带有额外订单的桌子'领域。一切都在1.10中运行良好但现在在1.11中失败了

django.db.utils.ProgrammingError: column api_session_pollgroups.pollgroup_id does not exist 

我的模型代码如下所示:

class SessionPollGroup(models.Model):
    session = models.ForeignKey('api.Session')
    pollgroup = models.ForeignKey('api.PollGroup')
    order = models.PositiveSmallIntegerField(default=0)

    class Meta:
        db_table = 'api_session_pollgroups'
        ordering = ('order',)

表' api_session_pollgroups'当最初的多对多关系被制作并且我劫持了它时,它就已经存在了。添加额外的订单字段。

会话模型的关系看起来像这样

    pollgroups = models.ManyToManyField('api.PollGroup',
                                        related_name='sessions',
                                        through=SessionPollGroup)

任何人都知道为什么在django 1.11而不是1.10中无法生成或找到正确的数据库模式?

注意:这似乎只出现在单元测试期间,当我使用常规迁移创建新数据库时,表似乎在我的开发db(postgres)中正确创建,但不在单元测试db(sqlite)中创建

谢谢!

编辑:扫描了更改日志,无法看到有关此内容的任何信息。我能想到的最好的事情是与表空间有关,但我很难知道到底是什么。

0 个答案:

没有答案