def __init__(self, params, request): self.page = int(params.pop('page', 1)) self.per_page = int(params.pop('per_page', 5)) params['start'] = (self.page-1 ) * self.per_page params['rows'] = self.per_page self.results = connection.select(params) self.next_link = None self.previous_link = None self.links = [] self._get_pagination_links(request)
def query(self, *args, **kwargs): """ Usage: If using get, all and filter we should give the opition to get documents and not other objects. This will cut down on DB queries. Instead give them a model representation. """ kwargs['model'] = get_instance_key(self.model) results = connection.select(*args, **kwargs) ids = [doc.pk_field.value for doc in results.documents] return self.in_bulk(ids)