python - 为什么会出现此错误 "django.db.utils.OperationalError: (1050, "表 'someTable' 已存在")"

标签 python django

我收到类似 django.db.utils.OperationalError: (1050, "Table 'someTable'已经存在") 的错误 我想知道出现这种类型错误的原因。 我在终端上运行了以下命令

1. python manage.py makemigration app
2. python manage.py migrate app

当运行迁移时出现上述错误。 我通过运行解决了我的问题

python manage.py migrate --fake app

但我想知道为什么会出现此错误,以及 --fake app 如何解决我的问题。谢谢

最佳答案

表“someTable”已存在于您的数据库中 - 要么是因为它是通过之前调用 ./manage.pysyncdb 创建的,要么是因为您手动创建了它(或者您之前使用过 South)正在切换到 Django >= 1.7) - 并且您显然没有任何现有的 django (非南) 迁移,因此 makemigration 认为必须创建该表(正确的是,一旦确实会从头开始安装您的应用程序的人的情况)。

使用 --fake 标志告诉 migrate 命令仅记录已应用的迁移,而不是有效应用它,这就是该标志的全部意义:您的应用程序已安装(数据库表等)而无需迁移,并且您想要开始使用迁移。

关于python - 为什么会出现此错误 "django.db.utils.OperationalError: (1050, "表 'someTable' 已存在")",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315727/

相关文章:

python - 如何解析代码(在 Python 中)?

python - 解析字符串并用其值替换字符串的最佳方法是什么?

python - 在 models.py 之外接收 django-allauth 信号?

django - 不允许的方法 :/(Django-Post Method)

python - django 中的身份验证

python - 向文件写入的数据多于读取的数据?

python - 如何判断哪个 HTML 表单提交给了 Flask?

python - Keras 段错误(核心已转储)

python - Django - 没有模型的登录用户

django QueryDict 仅返回列表的最后一个值