Django Проверка электронной почты Rest Framework недействительна - PullRequest
1 голос
/ 24 апреля 2020

Я хочу обновить экземпляр "работника", отправив запросы PUT на Django Rest Framework. Запросы Put не выполняются из-за неудачной проверки электронной почты.

model.py:

class Employee(models.Model):
    Employees_id = models.AutoField('ID', primary_key=True)
    Employees_acn = models.CharField('Mitarbeiternummer', max_length=10)
    Employees_first = models.CharField('Vorname', max_length=200)
    Employees_last = models.CharField('Nachname', max_length=200)
    Employees_mail = models.EmailField('E-Mail', null=True, blank=True)
    Employees_deleted = models.BooleanField('Gelöscht', default=False)

serializer.py:

class EmployeeSerializer(serializers.ModelSerializer):
    class Meta:
        model = Employee
        fields = '__all__'

views.py:

class Employee(APIView):
    permission_classes = [IsAuthenticated,BelongsToClient]
    serializer_class = EmployeeSerializer
def put(self, request, pk, format=None):
        try:
            employee = EmployeeModel.objects.filter(Employees_deleted= False).get(pk=pk)
        except EmployeeModel.DoesNotExist:
            return HttpResponse(status = 404)
        serializer = EmployeeSerializer(employee, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(status=status.HTTP_200_OK)
        print(serializer.errors)
        return Response(serializer.data,status=status.HTTP_400_BAD_REQUEST)

Ошибка не зависит от того, какой адрес электронной почты я ввожу. Весь запрос, который я пробовал, не прошел Это сообщение об ошибке (serializer.errors):

{'Employees_mail': [ErrorDetail(string='Enter a valid email address.', code='invalid')]}

У меня нет проверки в классе сериализаторов. Почему я получаю эту ошибку проверки? Нужно ли устанавливать какие-либо настройки?

...