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')
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')
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')