При переопределении метода 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)