В моем приложении django у меня есть набор пожертвований, на которые я хочу сделать статистику. Для каждого пожертвования человек связан с его адресом электронной почты.Django queryset group by and count distincts
Я хочу вычислить на каждый месяц количество доноров, то есть число уникальных аддитов.
До сих пор у меня есть:
# filter all donations by month
truncate_date = connection.ops.date_trunc_sql('month', 'date')
qs = Donation.objects.extra({'month': truncate_date})
# group by months and annotate each with the count of emails
donors = qs.values('month').annotate(count=Count('email')).order_by('month')
Это хорошо работает, я получаю ежемесячный отчет о всех доноров по электронной почте, но, как я получил дубликат по электронной почте, не фильтрует электронную почту с помощью уникальных значений.
В текущей базе данных используется Postgresql.
Как это можно сделать?
Вы используете Postgres? – Sayse
Да, я добавлю это в вопрос. – nobe4