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

来源:7-11 user serializer和validator验证-1

永不止息L

2019-11-08

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

手机是否注册

    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("用户名已经存在")
写回答

2回答

bobby

2019-11-15

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

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

0
0

bobby

2019-11-09

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

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

0
1
永不止息L
这个地方还是不太理解,能不能请老师再说详细些
2019-11-14
共1条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2873 学习 · 2461 问题

查看课程