при регистрации поле email необязательным Django RF

В serializers.py

from rest_framework import serializers
from django.contrib.auth.models import User
from django.contrib.auth.mixins import PermissionRequiredMixin

class UserRegisterSerializer(serializers.ModelSerializer, PermissionRequiredMixin):
    password2 = serializers.CharField()  # Поле для повторения пароля
    email = serializers.EmailField(allow_blank=True)

    # Настройка полей
    class Meta:
        model = User
        fields = ['email', 'username', 'password', 'password2', 'is_staff']

    # Метод для сохранения нового пользователя
    def create(self, *args, **kwargs):
        user = User(
            email=self.validated_data['email'],
            username=self.validated_data['username'],
            is_staff=self.validated_data['is_staff'],
        )
        password = self.validated_data['password']
        password2 = self.validated_data['password2']

        if password != password2:
            raise serializers.ValidationError({password: "Пароль не совпадает"})
        user.set_password(password)  # Сохраняем пароль

        user.save()
        return user

Во views.py

class RegisterUserView(CreateAPIView, PermissionRequiredMixin):
    queryset = User.objects.all()  # add to queryset
    serializer_class = UserRegisterSerializer  # add serializer UserRegisterSerializer
    permission_classes = [IsAuthenticated]  # add permission classes

    def post(self, request, *args, **kwargs):  #create method to create new user
        serializer = UserRegisterSerializer(data=request.data)  # add UserRegisterSerializer
        data = {}  # create list data

        # Data Validity Check
        if serializer.is_valid():
            serializer.save()
            data['response'] = True
            return Response(data, status=status.HTTP_200_OK)
        else:
            data = serializer.errors
            return Response(data)


class UserFieldObject(generics.ListCreateAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer

    def user_list(self, request):
        queryset = self.get_queryset()
        serializer = UserSerializer(queryset, many=True)
        return Response(serializer.data)


class UsersDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer

Можете подсказать как сделать чтобы заполнение поля email при регистрации было необязательным.

email = serializers.EmailField(allow_blank=True)

Я вроде прописала что allow_blank True все равно не помогает выходит ошибка

{"email":["This field may not be null."]}

Ответы (0 шт):