Skip to content
Snippets Groups Projects
serializers.py 1.16 KiB
Newer Older
"""
Serializers creating JSONs for every Model from .models
"""
from rest_framework import serializers
from .models import Sport, Criterion, Question


class SportListSerializer(serializers.ModelSerializer):
    """
    Serializes all sports.
    """

    class Meta:
        model = Sport
borzechof99's avatar
borzechof99 committed
        fields = ("id", "name", "url", "criteria_ratings")
class QuestionListSerializer(serializers.ModelSerializer):
    """
    Serializes all Questions.
    """

    class Meta:
        model = Question

borzechof99's avatar
borzechof99 committed
        fields = ("id", "text", "criterion")
class CriterionListSerializer(serializers.ModelSerializer):
    """
    Serializes Criterions
    """

    class Meta:
        model = Criterion
borzechof99's avatar
borzechof99 committed
        fields = ("id", "name")


class SmallSportListSerializer(serializers.BaseSerializer):
    def to_representation(self, sport_instances):

        serialized_data = []

        for sport, boolean in sport_instances:
            serialized_data.append(
                {
                    "pk": sport.pk,
                    "name": sport.name,
                    "url": sport.url,
                    "is_filled": boolean,
                }
            )

        return serialized_data