Exemplo n.º 1
0
class CitySerializer(serializers.ModelSerializer):
    photo = StdImageSerializer(read_only=True)
    photo_square = StdImageSerializer(read_only=True)
    photo_high = StdImageSerializer(read_only=True)

    class Meta:
        model = City
        fields = (
            'id',
            'photo',
            'photo_square',
            'photo_high',
            'name',
        )
Exemplo n.º 2
0
class EventListSerializer(ExcludableModelSerializer):
    image = StdImageSerializer(read_only=True)

    event_category = EventCategorySerializer(read_only=True)
    centres = CentreCitySerializer(read_only=True, many=True)
    project = ProjectListSerializer(read_only=True)

    class Meta:
        model = Event
        fields = (
            'id',
            'event_category',
            'centres',
            'project',
            'created_at',
            'image',
            'title',
            'content',
            'is_active',
            'slug',
        )

    @staticmethod
    def set_eager_loading(queryset):
        queryset = queryset.select_related('event_category', 'project')
        queryset = queryset.prefetch_related(
            Prefetch('centres',
                     queryset=Centre.objects.select_related('city')))

        return queryset
Exemplo n.º 3
0
class TwitterCardSerializer(serializers.ModelSerializer):
    image = StdImageSerializer(read_only=True, variation='twitter_card')

    class Meta:
        model = TwitterCard
        fields = (
            'card',
            'title',
            'description',
            'image',
        )
Exemplo n.º 4
0
class PartnerSerializer(serializers.ModelSerializer):
    logo = StdImageSerializer(read_only=True)

    class Meta:
        model = Partner
        fields = (
            'id',
            'logo',
            'name',
            'link',
        )
Exemplo n.º 5
0
class MetadataListSerializer(serializers.ModelSerializer):
    image = StdImageSerializer(read_only=True)

    class Meta:
        model = Metadata
        fields = (
            'url_name',
            'title',
            'description',
            'robots',
            'image',
        )
Exemplo n.º 6
0
class OpenGraphSerializer(serializers.ModelSerializer):
    image = StdImageSerializer(read_only=True, variation='open_graph')

    class Meta:
        model = OpenGraph
        fields = (
            'type',
            'url',
            'title',
            'description',
            'image',
        )
Exemplo n.º 7
0
class ProjectDetailSerializer(AdjacentObjectsSerializerMixin,
                              ExcludableModelSerializer):
    image = StdImageSerializer(read_only=True)

    project_area = ProjectAreaSerializer(read_only=True)
    project_attached_documents = ProjectAttachedDocumentSerializer(
        read_only=True, many=True)
    centres = CentreCitySerializer(read_only=True, many=True)
    events = EventListSerializer(exclude_fields=['centres', 'project'],
                                 read_only=True,
                                 many=True)

    class Meta:
        model = Project
        fields = (
            'id',
            'project_area',
            'project_attached_documents',
            'centres',
            'events',
            'started_at',
            'modified_at',
            'image',
            'title',
            'content',
            'is_active',
            'slug',
            'prev_object',
            'next_object',
        )

    @staticmethod
    def set_eager_loading(queryset):
        queryset = queryset.select_related('project_area')
        queryset = queryset.prefetch_related(
            'project_attached_documents',
            Prefetch('events',
                     queryset=Event.objects.select_related('event_category')),
            Prefetch('centres',
                     queryset=Centre.objects.select_related('city')))

        return queryset
Exemplo n.º 8
0
class ParticipantSerializer(ExcludableModelSerializer):
    photo = StdImageSerializer(read_only=True)
    centre = CentreCitySerializer(read_only=True)

    class Meta:
        model = Participant
        fields = (
            'id',
            'photo',
            'name',
            'surname',
            'position',
            'centre',
        )

    @staticmethod
    def set_eager_loading(queryset):
        queryset = queryset.select_related('centre', 'centre__city')

        return queryset