Browse Source

Refactor to use count()

merge-requests/142/head
kencx 2 years ago
parent
commit
2fedd99836
  1. 8
      tildes/tildes/models/pagination.py

8
tildes/tildes/models/pagination.py

@ -112,7 +112,7 @@ class PaginatedQuery(ModelQuery):
return self
def remove_before_after(self):
def remove_before_after(self) -> PaginatedQuery:
"""Remove all before or after restrictions from query"""
self.before_id = None
self.after_id = None
@ -237,7 +237,11 @@ class PaginatedResults:
self.has_prev_page = False
# fetch total number of results without pagination
self.total_count = len(query.remove_before_after().all())
self.total_count = (
query.request.db_session.query(func.count())
.select_from(query.remove_before_after().statement)
.scalar()
)
def __iter__(self) -> Iterator[Any]:
"""Iterate over the results."""

Loading…
Cancel
Save