在Django中向模型添加字段而无需删除数据库

cnwbcb6i  于 2023-03-04  发布在  Go
关注(0)|答案(3)|浏览(150)

我想在Django的模型中添加一个字段,但是,当我这样做时,我得到了以下错误:django.db.utils.OperationalError:无此列:。我知道我可以通过删除数据库并运行迁移来解决这个问题,但是有没有一种方法可以在不删除数据库的情况下解决这个问题?每次我想向模型添加字段时,都要将所有数据重新放入其中,这是一项很大的工作。
运行迁移和删除迁移文件不起作用。

x33g5p2x

x33g5p2x1#

不要搞砸了很多。这很简单,在模型发生任何变化后,只需运行这些命令

python manage.py makemigrations
python manage.py migrate
lokaqttq

lokaqttq2#

如果您已经运行了python manage.py makemigrationspython manage.py migrate命令,并且错误地绕过了添加字段的迁移文件,则可以检查数据库,在表django_migrations下删除迁移文件创建列的记录,然后再次运行python manage.py migrate命令。

vxf3dgd4

vxf3dgd43#

我终于弄明白了。我有一个依赖于CsvCreate模型的modelform,这就是迁移不会运行的原因:

parameters = CsvCreate.objects.values().latest('uploaded')['parameters']

当我注解掉它并运行迁移时,一切都正常了。

相关问题