Django makemigrations为';授权用户';每一次
我将系统的django版本从1.6.10升级到1.8.16进行测试。 在before版本中,我使用South进行迁移。 所以,我遵循了这个文档 我的问题是每次makemigration都检查相同的字段,然后生成迁移文件。 该字段是“auth.User”外键字段。比如Django makemigrations为';授权用户';每一次,django,model,migration,django-south,Django,Model,Migration,Django South,我将系统的django版本从1.6.10升级到1.8.16进行测试。 在before版本中,我使用South进行迁移。 所以,我遵循了这个文档 我的问题是每次makemigration都检查相同的字段,然后生成迁移文件。 该字段是“auth.User”外键字段。比如user=models.ForeignKey('auth.user') 这是我解决这个问题的截图 这是该外键字段的示例代码 cancelled_by = models.ForeignKey( '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非常聪明,可以轻松地重新创建迁移文件,而不管文件夹中发生了什么更改
你也可以伪造这些迁移,但我更喜欢保持我的迁移文件夹干净整洁。每次makemigration之后你都运行过“migrate”吗?@morinx是的。只是迁移。我应该假装吗?我会先删除最近制作的迁移文件,然后尝试makemigrationagain@morinx好的,我将尝试将结果添加到问题中。同时为每个迁移文件提供“sqlmigrate”命令的结果