Добавление ограничения `unique_on` к фильтру аннотаций в Django

В Django, как использовать атрибут filter в аннотации Sum() для вычисления SUM только по атрибутам, которые принадлежат уникальной модели? В приведенном ниже блоке кода, как можно отфильтровать roi_avg таким образом, который я могу описать только в этом псевдокоде: roi_avg = Sum(avg_field, filter= tweets_we_need + Q(tweets__twitter_calls__coin__id==Unique)


avg_field = F('tweets__twitter_calls__roi_plus_year')
tweets_we_need = (Q(tweets__created_at__date__lt=one_year_back) & ~Q(tweets__twitter_calls__roi_plus_year=None))

    users = (
        User.objects        
        .annotate(
            roi_avg = Sum(avg_field, filter= tweets_we_need),
            calls_count = Count('tweets', filter = tweets_we_need),
            unique_coins = Count('tweets__twitter_calls__coin', filter = tweets_we_need, distinct=True)
        )
        .exclude(roi_avg=None)
        .order_by("-roi_avg", "-unique_coins")
    )
Вернуться на верх