Включить проверку наличия данных в базе данных для входа в систему

я начинающий

я пытаюсь сделать пост запрос, чтобы получить coer_id и пароль от клиента, а затем я пытаюсь проверить, существуют ли они в базе данных или нет .Я могу выполнить это.Это будет действительно полезно, если вы можете сказать мне, как я могу исправить это или сделать это .

models.py

from django.db import models
from django.core.validators import RegexValidator

class student_register(models.Model):
    name=models.CharField(max_length=100)
    father_name=models.CharField(max_length=100,null=True)
    
    bhawan=models.CharField(max_length=100,null=True)
    branch=models.CharField(max_length=40,null=True)
    coer_id=models.CharField(max_length=12,unique=True,null=True)

    phone_regex=RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format: '+9999999999'. Up to 12 digits allowed.")
    phone_number = models.CharField(validators=[phone_regex], max_length=17)
    
    password=models.CharField(max_length=100)

serializer.py

from django.db.models import fields
from rest_framework import serializers
from .models import student_register



class register_serializers(serializers.ModelSerializer):
    class Meta:
        model = student_register
        fields = '__all__'
        


class login(serializers.ModelSerializer):
    class Meta:
        model = student_register
        fields = ['coer_id','password']

views.py

from rest_framework.response import Response
from rest_framework import viewsets
 
from .models import student_register
from .serializer import register_serializers
from .serializer import login
from rest_framework.decorators import api_view
from rest_framework import status




class register_view(viewsets.ModelViewSet):
    queryset= student_register.objects.all()
    serializer_class= register_serializers


@api_view(['POST'])  
def check_login(request):
    serializer=login(data=request.data)
    
    if serializer.is_valid():
        
        if student_register.objects.filter(coer_id=serializer['coer_id']).exists():
            if student_register.objects.filter(password=serializer['password']).exists():


                return Response(serializer.data)

        else:
            return Response(status=status.HTTP_404_NOT_FOUND)

вот ошибка, которую я получаю, когда отправляю json файл и размещаю его


Internal Server Error: /login/
Traceback (most recent call last):
  File "D:\app_apis\env\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "D:\app_apis\env\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "D:\app_apis\env\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "D:\app_apis\env\lib\site-packages\django\views\generic\base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "D:\app_apis\env\lib\site-packages\rest_framework\views.py", line 511, in dispatch
    self.response = self.finalize_response(request, response, *args, **kwargs)
  File "D:\app_apis\env\lib\site-packages\rest_framework\views.py", line 423, in finalize_response
    assert isinstance(response, HttpResponseBase), (
AssertionError: Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`

Это должно работать:

def check_login(request):
    serializer=login(data=request.data)
    
    if serializer.is_valid():
        
        if student_register.objects.filter(coer_id=serializer['coer_id']).exists():
            if student_register.objects.filter(password=serializer['password']).exists():


                return Response(serializer.data)

    return Response(status=status.HTTP_404_NOT_FOUND) #much better like this
Вернуться на верх