为啥使用自带user模型扩展时出错?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学,你好。fields内的username和password字段如果是 unique=True 会产生该错误,因此同学需要重新写该字段

http://img1.sycdn.imooc.com//climg/5ef322a90961c68d05850192.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • Will6397264 提问者 #1
    我也试了一下,覆盖重写username就可以了,这里的UNIQUE是啥意思,有啥用途?为啥会在这个地方生效?
    2020-06-24 21:16:47
  • 好帮手慕美 回复 提问者 Will6397264 #2
    同学,你好。unique=True,表示该字段在整个表格中必须是唯一的。输入现有用户名时显示该错误,因此需要重写username。祝学习愉快~~~~
    2020-06-25 11:13:22
  • Will6397264 提问者 回复 好帮手慕美 #3
    登录操作不是读操作吗?怎么会激发unique错误呢?
    2020-06-27 09:24:08
好帮手慕笑蓉 2020-06-23 10:53:55

同学,你好。报错User的username已经存在,检查一下User模型的如下两列是否注释掉了:

http://img1.sycdn.imooc.com//climg/5ef16e6609b0abe511920255.jpg

如果没有注释,将其注释掉再次尝试,如果还是不行,将报错信息截图到问答区,会有老师帮忙解决的。

祝学习愉快~ 

  • 提问者 Will6397264 #1
    我就没有那两行,直接继承父类的。错误信息如下 [23/Jun/2020 22:20:55] "GET /accounts/login/ HTTP/1.1" 200 2574 <ul class="errorlist"><li>username<ul class="errorlist"><li>A user with that username already exists.</li></ul></li></ul> [23/Jun/2020 22:21:02] "POST /accounts/login/ HTTP/1.1" 200 2662
    2020-06-23 22:22:37
提问者 Will6397264 2020-06-22 22:19:44

提示错误为A user with that username already exists.

form表单中如果不使用ModelForm就不会报错,不理解为啥。

视图函数代码如下:

http://img1.sycdn.imooc.com//climg/5ef0bdbd096acaf407620450.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师