运行`migrate`时,NOT NULL约束失败

时间:2015-05-12 04:09:34

标签: django django-migrations

我更改了models.py文件,运行<a href="{{{link_to}}}" style="border: 0;" target="_blank">时出现此错误。该属性是OneToOneField()。我尝试添加handlebars.registerHelper('link_to', function() { return new handlebars.SafeString(handlebars.Utils.escapeExpression(data.user.link)); }); ,但似乎没有解决它。即使我注释掉该属性并运行migrate后跟null=True,我仍然会得到完全相同的错误,这也很奇怪。有没有办法来解决这个问题?我的模型看起来像这样:

makemigrations

1 个答案:

答案 0 :(得分:7)

我的猜测是你创建了一个没有null = True的迁移,它不会迁移,然后你用null = True创建了第二个迁移。

跑步&#34;迁移&#34;将按顺序运行两个迁移,因此第一个将再次失败。

假设是这种情况,那么 1:删除迁移文件夹中的两个最新文件。 (首先打开它们以确认它们正在创建迁移,如我在删除之前所述)。 2:再次运行makemigrations,在models.py中使用null = True

这应该创建第二个迁移文件的等效文件,而不会发生失败的中间迁移。