from rest_framework import serializers from outbo.apps.photobriefing.enums import ChoiceRole from outbo.apps.photobriefing.models import BriefItemChoice class BaseBriefItemChoiceSerializer(serializers.ModelSerializer): class Meta: model = BriefItemChoice class BriefItemChoiceSerializer: class List(BaseBriefItemChoiceSerializer): role = serializers.SerializerMethodField() class Meta(BaseBriefItemChoiceSerializer.Meta): fields = ["category", "item", "role"] def get_role(self, instance): role = eval(instance.role) # TODO: eval is evil if role is ChoiceRole.SUPPLIER: return "supplier" if role is ChoiceRole.CLIENT: return "client" raise NotImplementedError class Update(BaseBriefItemChoiceSerializer): class Meta: model = BriefItemChoice fields = ["category", "item"]