From dde9736a812069f27f492696420c38570baa6415 Mon Sep 17 00:00:00 2001 From: asp345 Date: Mon, 3 Mar 2025 20:25:21 +0900 Subject: [PATCH] add roles in personCard detail --- personCard/serializers.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/personCard/serializers.py b/personCard/serializers.py index 306d10c..a7d5044 100644 --- a/personCard/serializers.py +++ b/personCard/serializers.py @@ -79,16 +79,23 @@ class PersonCardDetailSerializer(serializers.ModelSerializer): p_card_info = serializers.JSONField( source="personal_info.p_card_info.p_card_info", required=False, allow_null=True ) + roles = serializers.SerializerMethodField() class Meta: model = Person - fields = ["name", "phone_number", "info", "emails", "p_card_info"] + fields = ["name", "phone_number", "info", "emails", "p_card_info", "roles"] def get_emails(self, obj): if obj.personal_info and isinstance(obj.personal_info.emails, list): return obj.personal_info.emails return [] + def get_roles(self, obj): + return [ + {"t_id": role.team.t_id, "r_id": role.r_id, "role": role.role_name} + for role in obj.roles.filter(end_date__isnull=True) + ] + class PersonalInfoUpdateSerializer(serializers.ModelSerializer): phone_number = serializers.CharField(