Django makemigrations 每次都会更改 'auth.user'

Django makemigrations make change for 'auth.user' every time

我将系统的django 版本从1.6.10 升级到1.8.16 进行测试。 在之前的版本中,我使用 South 进行迁移。 所以,我遵循了“https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south”这个文档。

我的问题是每次 makemigrations 都检查相同的字段,然后制作迁移文件。 该字段是 'auth.User' 外键字段。像 user = models.ForeignKey('auth.User').

这是我针对该问题的屏幕截图。

这是该外键字段的示例代码。

cancelled_by = models.ForeignKey(
    'auth.User',
    verbose_name=_("Cancelled by"),
    related_name='project_cancel',
    blank=True,
    null=True
)

我该如何解决?

编辑: 这是我在所有迁移后由 makemigrations 创建的迁移文件。

class Migration(migrations.Migration):

dependencies = [
    ('meeting', '0003_meeting_proposal'),
]

operations = [
    migrations.AlterField(
        model_name='meeting',
        name='manager',
        field=models.ForeignKey(verbose_name='Manager', blank=True, to=settings.AUTH_USER_MODEL, null=True),
    ),
]

我会先删除最近制作的迁移文件,然后再尝试 makemigration。

删除迁移文件是一种常见的解决方案,因为 Django 足够聪明,可以轻松地重新创建它们,而不管您的文件夹中发生了什么变化。

你也可以伪造这些迁移,但我更喜欢保持我的迁移文件夹干净整洁。