【问题标题】:Django database - how to add this column in raw SQLDjango 数据库 - 如何在原始 SQL 中添加此列
【发布时间】:2011-01-27 08:37:20
【问题描述】:

假设我已经设置好了模型。

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

如果我想将此列添加到我的表中怎么办?

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

我将如何在我的数据库中编写原始 SQL 以使该列正常工作?

【问题讨论】:

    标签: python mysql database django


    【解决方案1】:

    您应该研究像 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`);
    

    【讨论】:

    • 如果我已经有正在运行的数据,并且已经建立了数据库......我现在可以使用 South 吗?还是我必须重新创建所有表?
    • 任何出现并看到 alex 评论的人,这将在他后来的问题 (stackoverflow.com/questions/2445761/…) 中得到解决。
    • @TIMEX,是的。您可以随时开始使用 South。
    猜你喜欢
    • 2022-01-25
    • 2013-08-15
    • 2021-11-21
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    相关资源
    最近更新 更多