2010-03-14 57 views
2

假設我已經設置了我的模型。Django數據庫 - 如何在原始SQL中添加此列

class books(models.Model): 
    title = models.CharField... 
    ISBN = models.Integer... 

如果我想將此列添加到我的表中,該怎麼辦?

user = models.ForeignKey(User, unique=True) 

我該如何在數據庫中編寫原始SQL,以便該列正常工作?

回答

5

你應該研究一個像South這樣的工具,它可以爲你做這一切。

然而,SQL會是這樣的(假設你使用MySQL):

ALTER TABLE `appname_books` ADD COLUMN `user_id` INTEGER NOT NULL UNIQUE; 
ALTER TABLE `appname_books` ADD CONSTRAINT `user_id_refs_user` FOREIGN KEY (`user_id`) REFERENCES auth_user (`id`); 
+0

如果我已經運行數據,以及一個建立數據庫....我可以用南方的權利嗎?或者我將不得不重新創建所有表格? – TIMEX 2010-03-15 06:49:14

+0

任何人來看看亞歷克斯的評論,這是在他後面的問題中解決(http://stackoverflow.com/questions/2445761/django-migrations-is-it-possible-to-use-south-in-the- -的最中間的項目)。 – 2010-03-15 09:41:18

+0

@TIMEX,是的。您可以隨時開始使用South。 – mlissner 2015-04-10 18:13:51

相關問題