Я изо всех сил пытаюсь найти хороший способ сделать это. Кажется, я просто продолжаю нажимать на вкусные ошибки (крича на меня, что большую часть времени я не возвращаю набор запросов).
Итак, я использую 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, но я предполагаю, что это излишне / неправильно?
Если кто-нибудь может дать мне указатели или то, что я пропустил, это было бы здорово.
Приветствия