class ProposalEventsParksSerializer(serializers.ModelSerializer): park=ParkFilterSerializer() #activities=serializers.CharField(source='activities.name', many=True) events_park_documents = EventsParkDocumentSerializer(many=True, read_only=True) class Meta: model = ProposalEventsParks fields = ('id', 'park','event_activities', 'proposal', 'events_park_documents')
class ProposalEventsParksSerializer(serializers.ModelSerializer): park=ParkFilterSerializer() #activities=serializers.CharField(source='activities.name', many=True) activities_assessor_names=serializers.SerializerMethodField() events_park_documents = EventsParkDocumentSerializer(many=True, read_only=True) class Meta: model = ProposalEventsParks fields = ('id', 'park','event_activities', 'proposal', 'events_park_documents', 'activities_assessor', 'activities_assessor_names') def get_activities_assessor_names(self,obj): return [a.name for a in obj.activities_assessor.all() ] if obj.activities_assessor else None
class ProposalFilmingParksSerializer(serializers.ModelSerializer): park = ParkFilterSerializer() from_date = serializers.DateField(format="%d/%m/%Y") to_date = serializers.DateField(format="%d/%m/%Y") filming_park_documents = FilmingParkDocumentSerializer(many=True, read_only=True) can_assessor_edit = serializers.SerializerMethodField() class Meta: model = ProposalFilmingParks fields = ('id', 'park', 'feature_of_interest', 'from_date', 'to_date', 'proposal', 'filming_park_documents', 'can_assessor_edit') def get_can_assessor_edit(self, obj): request = self.context['request'] user = request.user._wrapped if hasattr(request.user, '_wrapped') else request.user return obj.can_assessor_edit(user)
def filter_list(self, request, *args, **kwargs): serializer = ParkFilterSerializer(self.get_queryset(), context={'request': request}, many=True) return Response(serializer.data)