Как использовать Different () с Window () при аннотировании набора запросов - PullRequest
0 голосов
/ 23 февраля 2020

Я работал над этим часами и, похоже, не понимаю. Как мне annotate Count() из distinct() пользовательских значений?

Это суммирует ВСЕ объекты:

queryset = queryset.annotate(
    user_views_cumsum=Window(Count('user'), order_by=F('date_time').asc())).values(
    'user', 'video', 'date_time', 'id', 'user_views_cumsum').order_by('date_time', 'user_views_cumsum')

Добавление distinct=True дай мне ошибку:

queryset = queryset.annotate(
    user_views_cumsum=Window(Count('user', distinct=True), order_by=F('date_time').asc())).values(
    'user', 'video', 'date_time', 'id', 'user_views_cumsum').order_by('date_time', 'user_views_cumsum')

DISTINCT не реализован для оконных функций

Так как мне использовать отдельный, чтобы он прекратил считать все пользователи как один пользователь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...