Different Validation In Drf Serializer Per Request Method
Lets say i have a model like so: class MyModel(models.Model): first_field = models.CharField() second_field = models.CharField() and an API view like so: class MyModelDeta
Solution 1:
I need more space than comments provide to make my meaning clear. So here is what I suggest:
Different formatting means different serializers.
So here you have, for instance a
MyModelSerializerand aMyModelCreationSerializer. Either create them independently, or have one inherit the other and specialize it (if it makes sense).Use the appropriate
GenericAPIViewhook to return the correct serializer class depending onself.action. A very basic example could be:classMyModelDetailAPI(GenericAPIView):# serializer_class = unneeded as we override the hook belowdefget_serializer_class(self): ifself.action == 'create': return MyModelCreationSerializer return MyModelSerializerDefault actions in regular viewsets are documented here, they are:
create: POST method on base route urllist: GET method on base route urlretrieve: GET method on object urlupdate: PUT method on object urlpartial_update: PATCH method on object urldestroy: DELETE method on object url
Post a Comment for "Different Validation In Drf Serializer Per Request Method"