from rest_framework import serializers

from management.models.associazione_pratiche_a_modello import PraticheModello
from management.models.modello import Modello
from management.serializers.pratica_serializer import PraticaSerializer


class ModelloSerializer(serializers.ModelSerializer):
    class Meta:
        model = Modello
        fields = "__all__"

class PraticheModelloListSerializer(serializers.ModelSerializer):
    modello = serializers.SerializerMethodField()
    pratica = serializers.SerializerMethodField()

    class Meta:
        model = PraticheModello
        fields = "__all__"

    def get_modello(self, obj):
        from management.serializers.modello_serializer import ModelloSerializer
        return ModelloSerializer(obj.modello).data

    def get_pratica(self, obj):
        from management.serializers.pratica_serializer import PraticaSerializer
        return PraticaSerializer(obj.pratica).data