mirror of https://github.com/zulip/zulip.git
19 lines
501 B
Python
19 lines
501 B
Python
from __future__ import absolute_import
|
|
|
|
from django.db.models.query import QuerySet
|
|
from typing import TypeVar, List
|
|
|
|
T = TypeVar('T')
|
|
|
|
def last_n(n, query_set):
|
|
# type: (int, QuerySet[T]) -> List[T]
|
|
"""Get the last n results from a Django QuerySet, in a semi-efficient way.
|
|
Returns a list."""
|
|
|
|
# We don't use reversed() because we would get a generator,
|
|
# which causes bool(last_n(...)) to be True always.
|
|
|
|
xs = list(query_set.reverse()[:n])
|
|
xs.reverse()
|
|
return xs
|