При переопределении метода create по умолчанию в представлении Django, он не вызывает to_internal_value() в сериализаторе

Я пытаюсь переопределить функцию создания по умолчанию в моем view.py. Но когда я пытаюсь использовать функцию to_internal_value(), она не сериализует данные. Он выполняет to_internal_value() только тогда, когда я не переопределяю стандартную функцию create() в моем views.py.

views.py

class ContactViewSet(viewsets.ModelViewSet):

    queryset = ContactInformation.objects.all()
    serializer_class = TemplatesSerializer()
    #If this function is commented then everything works  
    #fine and to_internal_value() is called while serializing
    def create(self, request):
        contact = ContactInformation()
        contact.name = request.data['name']
        contact.address = request.data['address']
        contact.save()
        return JsonResponse(data=TemplatesSerializer(contact).data)

serializer.py

class TemplatesSerializer(serializers.ModelSerializer):

    def to_internal_value(self, data):
        print('Printing from to_internal')
        return super().to_internal_value(data)

    def to_representation(self, instance):
        print('Printing from to_represent')
        data = super().to_representation(instance)
        return data

    class Meta:
        model = ContactInformation
        fields = '__all__'

model.py


class ContactInformation(models.Model):
    name = models.CharField(max_length=128)
    address = models.CharField(max_length=128)
Вернуться на верх