【发布时间】:2014-01-07 12:35:57
【问题描述】:
有没有一种直接干净的方法可以从 Django 模型中删除一个字段?对于添加字段,迁移工作完美,但它不适用于删除引发以下错误
django.db.utils.DatabaseError: (1060, "Duplicate column name 'xyz_json_old'")
【问题讨论】:
标签: django django-models
有没有一种直接干净的方法可以从 Django 模型中删除一个字段?对于添加字段,迁移工作完美,但它不适用于删除引发以下错误
django.db.utils.DatabaseError: (1060, "Duplicate column name 'xyz_json_old'")
【问题讨论】:
标签: django django-models
如果你只想从模型中删除字段,试试这个
$ python manage.py dbshell
您将直接在您的数据库外壳(mysql 或 psql)中获取到什么数据库 你正在使用。
$ mysql> | psql> ALTER TABLE <table_name> DROP column <COLUMN_NAME>;
也打开模型(python文件)并从模型中取出字段名称并立即输入
$ python manage.py syncdb
它会将列从表中删除,无论表是否已填充。
【讨论】:
我正在使用南方,但我仍然必须在朋友的帮助下完成以下操作 -
他说我一定是搞砸了,南方的一些内部步骤不是原子的
【讨论】:
您可以使用South。
settings.py 并将'south' 放入INSTALLED_APPS(假设您已将其安装到正确的位置)./manage.py syncdb 将South 表加载到数据库中。请注意,syncdb 现在看起来不同了 - South 对其进行了修改。./manage.py convert_to_south myapp -South 将自动生成并假装应用您的第一次迁移。然后编辑你的models.py,然后
./manage.py schemamigration --auto myapp
他们迁移:
./manage.py migrate myapp
【讨论】: