想要将现有表的外键列添加到现有表中

时间:2011-07-04 09:28:03

标签: mysql django foreign-keys models

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

 Class Client
     user  = models.ForeignKey(User)

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

2 个答案:

答案 0 :(得分:1)

您可以使用sqldiffdjango-extensions命令:

  

扫描所有模型的Django命令   对于给定的appnames和比较   有真实的数据库架构   数据库表。

     

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

答案 1 :(得分:0)

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

您可以查看South项目来处理添加该列的问题,但是您可能希望查看此相关的Stack Overflow问题,其中有人想要将User添加到现有模型中。

最后,他们认为从头开始然后把外国人偷偷摸摸地更容易。