コード例 #1
0
    def __init__(self, instance=None, *args, **kwargs):
        # duplicate each trek for each one of its accessibilities
        if instance and hasattr(
                instance, '__iter__'
        ) and settings.SPLIT_TREKS_CATEGORIES_BY_ACCESSIBILITY:
            treks = []
            for trek in instance:
                treks.append(trek)
                for accessibility in trek.accessibilities.all():
                    clone = copy.copy(trek)
                    clone.accessibility = accessibility
                    treks.append(clone)
            instance = treks

        super(TrekSerializer, self).__init__(instance, *args, **kwargs)

        from geotrek.tourism import serializers as tourism_serializers

        if settings.SPLIT_TREKS_CATEGORIES_BY_PRACTICE:
            del self.fields['practice']
        if settings.SPLIT_TREKS_CATEGORIES_BY_ACCESSIBILITY:
            del self.fields['type2']

        self.fields[
            'information_desks'] = tourism_serializers.InformationDeskSerializer(
                many=True)
        self.fields[
            'touristic_contents'] = tourism_serializers.CloseTouristicContentSerializer(
                many=True, source='published_touristic_contents')
        self.fields[
            'touristic_events'] = tourism_serializers.CloseTouristicEventSerializer(
                many=True, source='published_touristic_events')
コード例 #2
0
    def __init__(self, *args, **kwargs):
        super(POISerializer, self).__init__(*args, **kwargs)

        from geotrek.tourism import serializers as tourism_serializers

        self.fields['touristic_contents'] = tourism_serializers.CloseTouristicContentSerializer(many=True, source='published_touristic_contents')
        self.fields['touristic_events'] = tourism_serializers.CloseTouristicEventSerializer(many=True, source='published_touristic_events')
コード例 #3
0
    def __init__(self, instance=None, *args, **kwargs):
        super(DiveSerializer, self).__init__(instance, *args, **kwargs)
        if 'geotrek.tourism' in settings.INSTALLED_APPS:

            from geotrek.tourism import serializers as tourism_serializers

            self.fields[
                'touristic_contents'] = tourism_serializers.CloseTouristicContentSerializer(
                    many=True, source='published_touristic_contents')
            self.fields[
                'touristic_events'] = tourism_serializers.CloseTouristicEventSerializer(
                    many=True, source='published_touristic_events')