Обычный подход
def get_queryset(self):
return Test.objects.values(
'test_id', 'test__title').annotate(
Count('test_id'),
count=Sum(Case(When(~Q(user=self.request.user), then='count'), default=0, output_field=IntegerField()))
).filter(test_id__count__gt=0)
При использовании вышеуказанного подхода функция сортировки столбцов не работает . Но, используя приведенный ниже подход с использованием набора запросов, функция сортировки работает, но не может получить значение self , поэтому я прокомментировал строку, содержащую self .
Текущий подход
queryset = Test.objects.values(
'test_id', 'test__title').annotate(
Count('test_id'),
#count=Sum(Case(When(~Q(user=self.request.user), then='count'), default=0, output_field=IntegerField()))
).filter(test_id__count__gt=0)
На данный момент я прокомментировал строку, содержащую self ... # count = Sum ( ....
Было бы полезно, если бы я смог получить значение self при использовании queryset . Спасибо аванс.