2011-07-04 42 views
1

在我的Django應用程序models.py中,我有最近添加的這個字段。想要添加一個列是現有表的外鍵

Class Client 
    user = models.ForeignKey(User) 

我想在mysql中添加該字段到現有表。問題是我不知道處理外鍵的命令。我想添加此列的表的名稱叫做tiptop_clients

回答

1

你可以使用django-extensionssqldiff -command:

,它可以掃描所有車型 對於給定的appnames和 有數據庫架構與現實 數據庫表進行比較

Django的命令。

它表示 數據庫中的列與Django生成的SQL 不同。 此命令不是數據庫 遷移工具。雖然它可能 肯定在 遷移期間有所幫助。它的目的是顯示 當前的差異,作爲到 檢查或調試您的模型 與真實數據庫表 和列比較的方式。

0

您將要面對的第一個問題是您如何處理現有數據?對於已經創建的任何客戶端,用戶是否應爲NULL?你會更新你的所有表格來處理這種情況嗎?

你可以看看South項目來處理添加該列,但你可能想看看這個相關的Stack Overflow問題,有人想將用戶添加到現有的模型。

最後,他們決定從頭開始,然後用鞋拔出ForeignKey來更容易。