diff --git a/apiserver/plane/api/serializers/issue.py b/apiserver/plane/api/serializers/issue.py index 72918b2683d..3293b79dd90 100644 --- a/apiserver/plane/api/serializers/issue.py +++ b/apiserver/plane/api/serializers/issue.py @@ -237,17 +237,37 @@ def to_representation(self, instance): from .user import UserLiteSerializer data["assignees"] = UserLiteSerializer( - instance.assignees.all(), many=True + User.objects.filter( + pk__in=IssueAssignee.objects.filter(issue=instance).values_list( + "assignee_id", flat=True + ) + ), + many=True, ).data else: data["assignees"] = [ - str(assignee.id) for assignee in instance.assignees.all() + str(assignee) + for assignee in IssueAssignee.objects.filter( + issue=instance + ).values_list("assignee_id", flat=True) ] if "labels" in self.fields: if "labels" in self.expand: - data["labels"] = LabelSerializer(instance.labels.all(), many=True).data + data["labels"] = LabelSerializer( + Label.objects.filter( + pk__in=IssueLabel.objects.filter(issue=instance).values_list( + "label_id", flat=True + ) + ), + many=True, + ).data else: - data["labels"] = [str(label.id) for label in instance.labels.all()] + data["labels"] = [ + str(label) + for label in IssueLabel.objects.filter(issue=instance).values_list( + "label_id", flat=True + ) + ] return data