viewsets.py
class ContractsViewSet(viewsets.ModelViewSet):
serializer_class = ContractsSerializer (many=True)
queryset = Contracts.objects.all()
pagination_class = CustomPagination
filter_backends = [filters.SearchFilter]
search_fields = ['bundle','name']
action_serializers = {
'list': ContractsListSerializer,
'retrieve': ContractsListSerializer,
'partial_update':ContractsSerializer,
}
def get_serializer_class(self):
try:
return self.action_serializers [self.action]
except (KeyError,AttributeError):
return super().get_serializer_class()
serializers.py
class ContractsSerializer(serializers.ModelSerializer):
class Meta:
model = Contracts
fields = ('id', 'name','bundle','state')
extra_kwargs = {'name': {'required': False},'state': {'required': False}}