请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

两种判断用户是否已存在的方式有什么区别?

老师在判断用户手机是否注册时用的是:

手机是否注册

    if User.objects.filter(mobile=mobile).count():
        raise serializers.ValidationError("用户已经存在")

我的问题是,为什么不直接用,下面判断用户名是否已经注册的方法:

username = serializers.CharField(label=“用户名”, help_text=“用户名”, required=True, allow_blank=False,
validators=[UniqueValidator(queryset=User.objects.all(), message=“用户已经存在”)])

另外,用户名是否存在,是不是也可以用以下方式验证:

    if User.objects.filter(username=username).count():
        raise serializers.ValidationError("用户名已经存在")

正在回答 回答被采纳积分+3

2回答

bobby 2019-11-15 11:14:17
  1. validators=[UniqueValidator(queryset=User.objects.all(), message=“用户已经存在”)])这行代码你都没有按照用户名查询,怎么就说这个用户已经存在了?

  2. if User.objects.filter(username=username).count():这种用法,用户注册的时候并没有填写username,你的username哪里来的?

0 回复 有任何疑惑可以回复我~
bobby 2019-11-09 13:57:50

User.objects.all()是查询所有用户啊, 这样做只有有其他用户注册,那么后续的用户就注册不了了吗

下面的验证方法如果mobile和username字段值一样就可以这样判断,否则用户注册的时候只填写了mobile那么username字段哪里来的呢

0 回复 有任何疑惑可以回复我~
  • 提问者 永不止息L #1
    这个地方还是不太理解,能不能请老师再说详细些
    回复 有任何疑惑可以回复我~ 2019-11-14 01:49:24
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号