Python 3.x Django rest框架。如果用户存在,则返回True,否则返回False
需要执行简单的检查:如果用户存在,则返回True,如果不存在,则返回False。我正在尝试使用自定义json答案解决此问题,但不确定这是否是正确的处理方法。请帮帮我 我的序列化程序:Python 3.x Django rest框架。如果用户存在,则返回True,否则返回False,python-3.x,django-models,django-rest-framework,Python 3.x,Django Models,Django Rest Framework,需要执行简单的检查:如果用户存在,则返回True,如果不存在,则返回False。我正在尝试使用自定义json答案解决此问题,但不确定这是否是正确的处理方法。请帮帮我 我的序列化程序: User = get_user_model() Class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = (User.USERNAME_FIELD, ) 我的看
User = get_user_model()
Class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (User.USERNAME_FIELD, )
我的看法:
@api_view(['GET'])
def UserViewSet(self, request):
if request.method == 'GET':
try:
user = User.objects.get(username=User.USERNAME_FIELD)
if User.DoesNotExist:
json = {}
json['message']= 'False'
return Response(json)
else:
json = {}
json['message']= 'True'
return Response(json)
不必使用UserViewSet和UserSerializer,您只需使用即可
class UserExistsView(APIView):
def get(self, request, *args, **kwargs):
# use this if username is in url kwargs
username = self.kwargs.get('username')
# use this if username is being sent as a query parameter
username = self.request.query_params.get('username')
try:
user = User.objects.get(username=username) # retrieve the user using username
except User.DoesNotExist:
return Response(data={'message':False}) # return false as user does not exist
else:
return Response(data={'message':True}) # Otherwise, return True
不必使用UserViewSet和UserSerializer,您只需使用即可
class UserExistsView(APIView):
def get(self, request, *args, **kwargs):
# use this if username is in url kwargs
username = self.kwargs.get('username')
# use this if username is being sent as a query parameter
username = self.request.query_params.get('username')
try:
user = User.objects.get(username=username) # retrieve the user using username
except User.DoesNotExist:
return Response(data={'message':False}) # return false as user does not exist
else:
return Response(data={'message':True}) # Otherwise, return True
请解释您试图在这一行User.objects.getusername=User.USERNAME\u字段中执行的操作。此外,您可以使用RetrieveAppView来确定对象是否存在。若返回404状态码,则表示用户不存在。否则,将返回200个状态代码尝试使用该行获取用户名,但此查询将始终为User.objects.getusername='field\u name'。这将如何检索预期的唯一用户?问题是,我应该在404或200个异常中插入True或False。请解释您在这一行中尝试执行的操作user.objects.getusername=user.USERNAME\u字段。此外,您可以使用RetrieveAppView来确定对象是否存在。若返回404状态码,则表示用户不存在。否则,将返回200个状态代码尝试使用该行获取用户名,但此查询将始终为User.objects.getusername='field\u name'。这将如何检索预期的唯一用户?问题是,我应该在404或200个异常中插入True或False。在这种情况下,查询应该是什么样子的?User.objects.getself.kwargs['username']?如何发送特定用户的用户名?它是在url kwargs中还是作为一个查询参数?我使用下一步构造返回一些过滤数据-def get_queryself:user=self.kwargs['username']返回user.objects.filter[username=user]使用2个选项更新ans以获取用户名,然后根据用户名执行查找。我认为这很旧…但我尝试了这一点,但使用Apisoup得到了空响应。我已经在这里问了这个问题。请帮助我在这种情况下查询应该是什么样子的?User.objects.getself.kwargs['username']?如何发送特定用户的用户名?它是在url kwargs中还是作为一个查询参数?我使用下一步构造返回一些过滤数据-def get_queryself:user=self.kwargs['username']返回user.objects.filter[username=user]使用2个选项更新ans以获取用户名,然后根据用户名执行查找。我认为这很旧…但我尝试了这一点,但使用Apisoup得到了空响应。我已经在这里问了这个问题。请帮忙