django将新的ManyToManyField添加到现有数据库

时间:2014-01-29 14:06:18

标签: python database django django-south

使用django,我需要在现有模型中添加一个新字段,例如ManyToManyField。如何使用更新我的数据库? 我试过了

python manage.py schemamigration appname --initial

python manage.py migrate appname --fake

但仍然收到错误消息'没有这样的表'。

我的数据库中有一些数据需要一些时间才能导入,所以我不想清除我的数据库。 我不熟悉SQL语言,有没有方便的方法来解决这个问题?

2 个答案:

答案 0 :(得分:5)

数据库当前反映您的模型没有新字段,因此您需要首先创建初始迁移,而不需要模型中的新字段。完成该操作并创建初始0001迁移后,您可以添加新字段,运行

python manage.py schemamigration --auto appname

将创建创建新闻字段所需的SQL,然后

pytho manage.py migrate

实际运行迁移

答案 1 :(得分:1)

- 伪表示不会对db进行任何更改。你应该

  1. 删除新字段
  2. 在没有它的情况下进行初始迁移,
  3. 然后添加新字段,用它执行schemamigration
  4. 然后迁移。
相关问题