Допустим, у меня есть следующие модели:
class Conversation(Model):
...
class Message(Model):
conversation = models.ForeignKey(Conversation)
Следующий код подсчитывает количество сообщений для каждого разговора:
Conversation.objects \
.filter(...) \
.annotate(size=Count("message")) \
.values("size")
и возвращает набор запросов {'size': 0}, {'size': 1}, {'size': 0}, {'size': 0}
и т.д.
Но как мне объединиться по размерам разговоров? То есть получить результат примерно так: (0, 3), (1, 1)
, где первый элемент в каждой паре - это размер разговора, а второй элемент - это количество разговоров такого размера?