2011-12-21 73 views
1

我有一个模型:更改外键到另一个模型

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

外键尚未使用,因此它总是空。现在我想用它作为一个外键到另一个模型,就像这样:

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

我使用MySQL.The处理有约束用户模型。

有关如何解决此问题的建议将受到欢迎。我的第一个想法是删除列,并添加新的约束,但我不确定是否删除列摆脱了约束。

+0

请前往South或其他移民经理(如@jpic提及),它会为您节省时间!我个人目前没有没有南方的项目,这是很好的。 – c4urself 2011-12-21 20:27:44

+0

我发现这篇文章是非常有用的。 http://stackoverflow.com/questions/2470356/mysql-show-create-constraint 我可能会最终手动删除列和外键。 – Zaph 2011-12-22 11:53:43

回答

3

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

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

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

相关问题