将外键更改为另一个模型

时间:2011-12-21 16:00:57

标签: python mysql django

我有一个模特:

class myModels(model.Model):
    handler =  models.ForeignKey(User, blank=True, null=True)

外键尚未使用,因此始终为null。现在我想将它用作另一个模型的外键,如下所示:

handler =  models.ForeignKey(Something, blank=True, null=True)

我正在使用MySQL。处理程序对用户模型有约束。

欢迎提出如何解决这个问题的建议。我的第一个想法是删除列并使用新约束再次添加它,但我不确定删除列是否摆脱了约束。

1 个答案:

答案 0 :(得分:3)

您可以./manage.py reset yourapp删除应用的表格,然后再次syncdb。这就是我在开发过程中所做的事情,因为它快速而简单。

还有很多其他方法:您可以安装django-extensions,运行命令./manage.py sqldiff yourapp,然后运行生成的SQL,它将根据您的models.py修改结构。

如果您想了解有关架构迁移的更多信息,here是一篇文章,概述了当前的选项。