Я хочу обновить экземпляр "работника", отправив запросы 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')]}
У меня нет проверки в классе сериализаторов. Почему я получаю эту ошибку проверки? Нужно ли устанавливать какие-либо настройки?