Как передать переменную в представления на основе класса (ListView)

Мой код Views.py

class ListaFuncionariosView(ListView):
    model = Funcionarios
    template_name = '../templates/funcionarios/lista_funcionarios.html'
    paginate_by = 10
    ordering = ['FuncionarioCartao']
    queryset = Funcionarios.objects.filter(EmpresaCodigo=1)
    funcionarios_number = Funcionarios.objects.aggregate(Count('FuncionarioCartao'))
    

Мой HTML

<h1>Good Morning</h1>
   Exists: {{funcionarios_number}}
    <br>
    {{funcionarios}}

Я хотел бы показать общее количество зарегистрированных сотрудников в моей таблице db (в HTML файле ниже), но я не знаю, как поместить переменные в представления, основанные на классе, в данном случае ListView. Я использую 4.0 Django

Я пытался вставить: funcionarios_number = Funcionarios.objects.aggregate(Count('FuncionarioCartao')) в bellow моего класса, но это не отображается в моем html.

При агрегировании на уровне классов запрос будет выполняться при запуске сервера, и счетчик, таким образом, всегда будет оставаться именно этим числом.

Вы можете определить это в функции:

class ListaFuncionariosView(ListView):
    model = Funcionarios
    template_name = '../templates/funcionarios/lista_funcionarios.html'
    paginate_by = 10
    ordering = ['FuncionarioCartao']
    queryset = Funcionarios.objects.filter(EmpresaCodigo=1)

    def funcionarios_number(self):
        return Funcionarios.objects.aggregate(total=Count('FuncionarioCartao'))[
            'total'
        ]

и затем обращаемся к функции в представлении в шаблоне:

{{ view.functionarios_number }}
Вернуться на верх