Created
November 28, 2016 13:54
-
-
Save curiousest/503d43e52152d4a083e3547258a61ed9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class PerRequestFieldsSerializerMixin(): | |
| def get_field_names(self, *args, **kwargs): | |
| field_names = super().get_field_names(*args, **kwargs) | |
| request_field_names = getattr( | |
| getattr(kwargs.get('context', {}).get('view', None), 'request', None), | |
| 'query_params', {} | |
| ).get('fields', None) | |
| if request_field_names is not None: | |
| request_field_names = request_field_names.split(',') | |
| return list(set(field_names) ^ set(request_field_names)) | |
| else: | |
| return field_names | |
| class PerRequestFieldsMixin(): | |
| def get_serializer_class(self, *args, **kwargs): | |
| original_class = super().get_serializer_class(*args, **kwargs) | |
| class PerRequestSerializer(PerRequestFieldsSerializerMixin, original_class): | |
| pass | |
| return PerRequestSerializer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment