当前位置: 首页 > 工具软件 > KeyDB > 使用案例 >

django报错 “ django.db.utils.IntegrityError: FOREIGN KEY constraint failed ”

田柏
2023-12-01
  • 解决:“外键约束失败”,可能是数据迁移操作过程中出问题了,导致数据表里的对应关系混乱,简单粗暴的方法就是手动删除自己创建的App的migrations文件夹下除了__init__.py的所有文件(包括pycache文件夹),然后再手动删除根目录下的db.sqlite3文件(这里面存了数据库表)

  • 运行数据迁移语句

python manage.py makemigrations
python manage.py migrate
  • 此后,那些删除的东西都会重建,此时你会发现创建的管理员和用户,都被注销了(搜索会显示不存在),还有之前发送给服务端的数据也都消失了,得重新来过
# 创建管理员账号
(venv) E:\>python manage.py createsuperuser # 回车后出现如下语句
Username (leave blank to use 'foolBirdd'): # 输入名字或者用'foolBirdd'
Password: # 输入密码,此处无显示,也就是你输入了但没反应,直接回车就行
Password (again): # 重新输入密码确认,老规矩,不显示
# 此处可能弹出密码过于简单的提示,如果只是用来测试的账户,直接忽略继续就好了
# 然后就创建完成

# 创建普通用户
(venv) E:\>python manage.py shell
Python 3.8.1 (default, Mar  2 2020, 13:06:26) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.auth.models import User
>>> user = User.objects.create_user('user1', 'user1@qq.com', '123456')
>>> user.save()
>>> exit() # 退出终端

如果觉得对你有帮助的话,点个赞呗~

反正发文又不赚钱,交个朋友呗~

如需转载,请注明出处foolBirdd

 类似资料: