Tastypie показывает итоги во время нумерации - PullRequest
0 голосов
/ 02 июля 2019

Я изо всех сил пытаюсь найти хороший способ сделать это. Кажется, я просто продолжаю нажимать на вкусные ошибки (крича на меня, что большую часть времени я не возвращаю набор запросов).

Итак, я использую tastypie, чтобы вернуть блок данных:

name, sales, revenue  
bob, 1, 100
sarah,2, 200

Эти данные хорошо разбиваются на страницы с использованием параметров запроса limit / offset. В той же таблице для каждого столбца я хотел бы показать итоги (для всего набора данных - включая то, что на последующих страницах в нумерации страниц).
В основном:

name, sales, revenue 
     3, 300 
bob, 1, 100
sarah,2, 200

Я изо всех сил пытаюсь заставить это работать с вкусным пирогом. Я решил создать один ресурс для обычных данных (см. Выше), а затем иметь отдельный ресурс Totals, который я мог бы вызывать отдельно.
Итак, я попытался добавить ниже к моему ресурсу SalesTotal:

def get_object_list(self, request):
    q = super(MyResource, self).get_object_list(request).aggregate(Sum('sales'))        
    return q

Но это дает мне ошибку «ожидающий набор запросов», так как эта функция должна возвращать набор запросов - так что apply_filters может работать.
Поэтому я попытался добавить это вместо:

    def apply_filters(self, request, applicable_filters):       
        return self.get_object_list(request).filter(**applicable_filters).aggregate(Sum('sales'))

Теперь выдает ошибку из класса Paginator. Это приводит меня к функции ресурсов get_list (), откуда все это, кажется, вызывается.
Я мог бы просто скопировать все это и проигнорировать бит paginator, но я предполагаю, что это излишне / неправильно?

Если кто-нибудь может дать мне указатели или то, что я пропустил, это было бы здорово.
Приветствия

...