Объединить 2 объекта той же модели Джанго - PullRequest
0 голосов
/ 27 апреля 2018

Есть ли способ объединить / объединить 2+ объектов одной и той же модели в 1 с общими значениями всех полей.

Я имею в виду, как Author.objects.annotate(Sum('book__pages')), но для всех полей в модели.

1 объект - {'user':2, 'events':20, 'time': 233}

2 объекта - {'user':2, 'events':10, 'time': 400}

нужно всего - {'user':2, 'events':30, 'time': 633}

ТНХ

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете использовать values(), а затем annotate().

MyModel.objects.values('user').annotate(
    total_events=Sum('events'),
    total_time=Sum('time'),
)

См. Django документы для получения дополнительной информации.

...