TemplateView
не предоставляет нам нумерацию страниц.мы можем использовать ListView
.Не рекомендуется разбивать на страницы методом get_context_data
.Для нумерации страниц следует использовать метод get_queryset
.
Пример:
class UserListView(LoginRequiredMixin, generic.ListView):
paginate_by = 10
def get_queryset(self, **kwargs):
queryset = User.objects.filter(userprofile__user_role__id=2).exclude(
Q(is_superuser=True) |
Q(userprofile__user_is_deleted = True)|
Q(userprofile__user_company__company_is_deleted=True)
)
query = self.request.GET.get('query')
if query:
queryset = list_query.filter(
userprofile__user_company__company_name__icontains=query)
return queryset
Если вы используете ListView
, то в шаблоне вы можете получить доступ к пользователям с именем object_list
.