【问题标题】:Want to add a column which is a Foreign key to an existing table想要将作为外键的列添加到现有表中
【发布时间】:2011-09-28 00:19:34
【问题描述】:

在我的 Django 应用程序 models.py 中,我最近添加了这个字段。

 Class Client
     user  = models.ForeignKey(User)

我想将 mysql 中的这个字段添加到 现有表。问题是我不知道处理外键的命令。我要添加此列的表的名称称为tiptop_clients

【问题讨论】:

    标签: mysql django foreign-keys models


    【解决方案1】:

    你可以使用django-extensionssqldiff-命令:

    扫描所有模型的Django命令 对于给定的应用程序名称并进行比较 有真正的数据库模式 数据库表。

    它表示列在 数据库不同于SQL 这将由 Django 生成。 此命令不是数据库 迁移工具。虽然可能 期间肯定会有所帮助 迁移。它的目的是展示 当前的差异作为一种方式 检查或调试您的模型 与真实的数据库表相比 和列。

    【讨论】:

      【解决方案2】:

      您将遇到的第一个问题是您如何处理现有数据?对于已经创建的任何客户端,用户是否应该为 NULL?您会更新所有表单来处理这种情况吗?

      您可以查看South 项目来处理添加该列,但您可能需要查看这个相关的Stack Overflow 问题,其中有人想将用户添加到现有模型。

      最后他们决定从头开始然后硬塞外键更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-19
        • 2012-05-10
        • 2014-02-20
        • 1970-01-01
        • 1970-01-01
        • 2013-07-13
        • 2014-01-15
        相关资源
        最近更新 更多