Как добавить distinct() к фильтру аннотаций в Django queryset?

 roi_values_to_sum = (Q(trades__created_at__date__lt=one_year_back) & ~Q(trades__roi_plus_year=None))
roi_sum_field = f('roi_plus_year')

users = (
        User.objects        
        .annotate(
            roi_sum = Sum(roi_sum_field, filter = roi_values_to_sum),
        .exclude(roi_sum=None)
        .order_by("-roi_sum")
   

В приведенном выше запросе я хочу аннотировать roi_sum к пользователям, которых я получаю, однако я хочу суммировать только отдельные торговые объекты, поскольку один и тот же торговый объект появляется несколько раз. Как я могу передать distinct() в поле filter=, чтобы roi_sum суммировал только отдельные объекты?

В приведенном выше примере trades прикреплены к пользователям, и у них есть created_at даты.

Вернуться на верх