Files
2024-11-27 13:18:16 +01:00

31 lines
948 B
Python
Executable File

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"]