Advertisement
jrujano

serializers-multiple-need

Sep 26th, 2019
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. viewsets.py
  2. class ContractsViewSet(viewsets.ModelViewSet):
  3.     serializer_class = ContractsSerializer (many=True)
  4.     queryset = Contracts.objects.all()
  5.     pagination_class = CustomPagination
  6.     filter_backends = [filters.SearchFilter]
  7.     search_fields = ['bundle','name']
  8.  
  9.     action_serializers = {
  10.         'list': ContractsListSerializer,
  11.         'retrieve': ContractsListSerializer,
  12.         'partial_update':ContractsSerializer,
  13.     }
  14.  
  15.    def get_serializer_class(self):
  16.         try:
  17.             return self.action_serializers [self.action]
  18.         except (KeyError,AttributeError):
  19.             return super().get_serializer_class()
  20.  
  21. serializers.py
  22. class ContractsSerializer(serializers.ModelSerializer):
  23.  
  24.     class Meta:
  25.         model = Contracts
  26.         fields = ('id', 'name','bundle','state')
  27.         extra_kwargs = {'name': {'required': False},'state': {'required': False}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement