django.db.utils.InternalError: (1050, “Table ‘django_content_type’ already exists”)
根据网上的说法,
第一步删除migrations文件夹是下面的所有文件

也可以:
找到文件的路径,rm -rf * 全部删除

第二步找到 对应数据库中的管理记录迁移文件修改的数据表:

这是表里面的数据

我们直接强硬一点:
因为有两种方式,有的人说只要删除不匹配的映射就行,但是果断点就全删除!
接下来:
我们就可以执行:
生成迁移文件的命令了:
python manage.py makemigrations
这一步正常运行:

(再生成迁移文件后,报错后,也可以不做上面两步操作,直接试试下面这个:)
因为我的问题比较棘手,所以直接删了。
接下来:执行:python manage.py migrate booktest --fake
重新全部映射
就可以成功了!

但是!!!!在网上搜索我试过很多类似的方法都解决不了我的问题。。。。
可能是我之前手动删除了迁移文件导致
内部映射出现问题。。。以至于我的models.py里写的属性和数据表中查到的属性都不一样!!! 所以再怎么尝试,都报错 1050:
我根本没设置过 yes, models.py里面。。
所以建议大家,没事儿不要乱删迁移文件。。。
针对我这种棘手的现象,搜索了好几天都解决不了,所以直接把数据库删除了 :
drop database xxx; (切记你的数据库里面没啥重要数据,这是下册。。)
之后再删除 所有的迁移文件,重新创建一个新的数据库,然后配置数据库:

之后就常规的:
python manage.py makemigrations
python mange.py migrate
就可以了!!

本文详细介绍了在Django项目中遇到的“Table ‘django_content_type’ already exists”错误的解决步骤,包括删除迁移文件、清空数据库表、重新创建数据库及配置等,适合遇到相似问题的开发者参考。
1704

被折叠的 条评论
为什么被折叠?



