2011-12-21 91 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是一篇文章,概述了當前選項。

相關問題