我有一个模特:
class myModels(model.Model):
handler = models.ForeignKey(User, blank=True, null=True)
外键尚未使用,因此始终为null。现在我想将它用作另一个模型的外键,如下所示:
handler = models.ForeignKey(Something, blank=True, null=True)
我正在使用MySQL。处理程序对用户模型有约束。
欢迎提出如何解决这个问题的建议。我的第一个想法是删除列并使用新约束再次添加它,但我不确定删除列是否摆脱了约束。
答案 0 :(得分:3)
您可以./manage.py reset yourapp
删除应用的表格,然后再次syncdb
。这就是我在开发过程中所做的事情,因为它快速而简单。
还有很多其他方法:您可以安装django-extensions
,运行命令./manage.py sqldiff yourapp
,然后运行生成的SQL,它将根据您的models.py修改结构。
如果您想了解有关架构迁移的更多信息,here是一篇文章,概述了当前的选项。