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

  • 解决:“外键约束失败”,可能是数据迁移操作过程中出问题了,导致数据表里的对应关系混乱,简单粗暴的方法就是手动删除自己创建的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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值