【发布时间】:2011-09-28 00:19:34
【问题描述】:
在我的 Django 应用程序 models.py 中,我最近添加了这个字段。
Class Client
user = models.ForeignKey(User)
我想将 mysql 中的这个字段添加到 现有表。问题是我不知道处理外键的命令。我要添加此列的表的名称称为tiptop_clients。
【问题讨论】:
标签: mysql django foreign-keys models
在我的 Django 应用程序 models.py 中,我最近添加了这个字段。
Class Client
user = models.ForeignKey(User)
我想将 mysql 中的这个字段添加到 现有表。问题是我不知道处理外键的命令。我要添加此列的表的名称称为tiptop_clients。
【问题讨论】:
标签: mysql django foreign-keys models
你可以使用django-extensions的sqldiff-命令:
扫描所有模型的Django命令 对于给定的应用程序名称并进行比较 有真正的数据库模式 数据库表。
它表示列在 数据库不同于SQL 这将由 Django 生成。 此命令不是数据库 迁移工具。虽然可能 期间肯定会有所帮助 迁移。它的目的是展示 当前的差异作为一种方式 检查或调试您的模型 与真实的数据库表相比 和列。
【讨论】:
您将遇到的第一个问题是您如何处理现有数据?对于已经创建的任何客户端,用户是否应该为 NULL?您会更新所有表单来处理这种情况吗?
您可以查看South 项目来处理添加该列,但您可能需要查看这个相关的Stack Overflow 问题,其中有人想将用户添加到现有模型。
最后他们决定从头开始然后硬塞外键更容易。
【讨论】: