【发布时间】:2023-03-15 03:30:01
【问题描述】:
我有一个生产模型,我需要向其中添加以下字段:
tag = models.ManyToManyField(Tags)
以下内容没有发生变化:
python manage.py syncdb
因此,未创建 mymodel_tag 表。我正在使用 Postgres。
由于应用程序已经投入生产使用,除了删除表并重新创建它之外,我还有什么选择。
【问题讨论】:
我有一个生产模型,我需要向其中添加以下字段:
tag = models.ManyToManyField(Tags)
以下内容没有发生变化:
python manage.py syncdb
因此,未创建 mymodel_tag 表。我正在使用 Postgres。
由于应用程序已经投入生产使用,除了删除表并重新创建它之外,我还有什么选择。
【问题讨论】:
South 肯定会有所帮助:
South 是一种工具,可为 Django 应用程序提供一致、易于使用且与数据库无关的迁移。
请注意,在 Django 1.7(目前处于开发阶段)中,South 将成为 django 的一部分 (docs)。
一个好的起点是浏览tutorial 和how to start using South with an existing database 页面。
另见:
请注意,从短期来看,手动创建多对多表可能看起来像一个简单的解决方案/解决方法,但我还是会考虑切换到南方。
希望对您有所帮助。
【讨论】: