Как сгруппировать_by Queryset по id и добавить значения Django

В Django у меня есть результаты, которые я хочу получить, но он возвращает разделенные данные с одинаковыми идентификаторами Как сгруппировать id в списке dicts?

Использую pandas, чтобы исправить это, но это работает не совсем правильно. Мне нужен простой словарь-список, где если есть повторяющийся идентификатор, то информация, которая отличается, добавляется как значение этого ключа, а если есть несколько значений, то они хранятся в списке. Итак, как показано ниже в результате, я хочу

у меня вот это:

<
QuerySet[{
    'id': 7086098,
    'action_plan': None,
    'comment': None
}, {
    'id': 7105838,
    'action_plan': 'foo',
    'comment': None
}, {
    'id': 7105838,
    'action_plan': 'foos2',
    'comment': None
}, {
    'id': 7169339,
    'action_plan': 'xxxxxx',
    'comment': None
}, {
    'id': 7169346,
    'action_plan': 'report',
    'comment': None
}, {
    'id': 7169346,
    'action_plan': 'zxczxczxczc',
    'comment': None
}, {
    'id': 7622793,
    'action_plan': 'foofoo',
    'comment': None
}, {
    'id': 7622793,
    'action_plan': 'role play',
    'comment': None
}, {
    'id': 7723661,
    'action_plan': 'google',
    'comment': 'chrome'
}, {
    'id': 7723661,
    'action_plan': 'netscape',
    'comment': None
}, {
    'id': 7723661,
    'action_plan': 'urra',
    'comment': 'firefox'
}, {
    'id': 7723661,
    'action_plan': 'sdasd',
    'comment': None
}] >

я хочу получить вот это:

[{
    'id': 7086098,
    'action_plan': None,
    'comment': None
}, {
    'id': 7105838,
    'action_plan': ['foo', 'foos2'],
    'comment': [None, None]
}, {
    'id': 7169339,
    'action_plan': 'xxxxxx',
    'comment': None
}, {
    'id': 7169346,
    'action_plan': ['report', 'zxczxczxczc'],
    'comment': [None, None]
}, {
    'id': 7622793,
    'action_plan': ['foofoo', 'role play'],
    'comment': [None, None]
}, {
    'id': 7723661,
    'action_plan': ['google', 'netscape', 'urra', 'sdasd'],
    'comment': ['chrome', None, 'firefox', None]
}]
Вернуться на верх