Как объединить два или более поля объектов queryset в одно?

В моем сериализаторе у меня есть следующий запрос:

memberships = Membership.objects.filter(
            user__id=instance.user.id,
            project__id__in=instance.organization.projects.values_list('id'),
        ).order_by('project__name')

что дает мне:

"projects": [
    {
      "project": "3ba96c4c-0b82-4f2a-9e1b-f18a8b63912a",
      "name": "string 1",
      "role": 0
    },
    {
      "project": "5fab483c-9703-4ed8-a3e7-b1516855fb99",
      "name": "TestProj",
      "role": 0
    },
    {
      "project": "5fab483c-9703-4ed8-a3e7-b1516855fb99",
      "name": "TestProj",
      "role": 1
    }
  ],

Но я бы хотел, чтобы вывод (для фронтенда) был таким:

"projects": [
    {
      "project": "3ba96c4c-0b82-4f2a-9e1b-f18a8b63912a",
      "name": "string 1",
      "roles": [0]
    },
    {
      "project": "5fab483c-9703-4ed8-a3e7-b1516855fb99",
      "name": "TestProj",
      "roles": [0, 1]
    }
  ],

Как я должен изменить свой запрос, чтобы достичь такого результата?

Вернуться на верх