Django get_queryset return 自定义变量

Django get_queryset return custom variables

以用户为例,我试图显示有多少用户。 get_context_data 工作得很好,但 get_queryset 不行。我知道它设置不正确,但我已经玩了好几天了,就是没有点击..

主要目标是使用 Dajngo-Filter 表格,然后能够获得更新后的用户数。我只找到了无数关于如何显示 "list" 用户的文档。我已经完成了,但没有关于如何显示自定义变量的文档。我有很多统计数据和图表,我想根据应用的过滤器进行计算。

class UserFilterView(LoginRequiredMixin, FilterView):
    template_name = 'community/user_list.html'
    model =  User
    filterset_class = UserFilter

    def get_queryset(self):
        user_count = User.objects.all().count()

    def get_context_data(self, *args, **kwargs):
        context = super(UserFilterView, self).get_context_data(*args, **kwargs)
        context['user_count'] = User.objects.all().count()
        return context
context['user_count'] = User.objects.all().count()

设置为始终统计所有用户。所以,当然,它会始终按照它的程序进行操作。

相反,我应该使用过滤查询集中的 .count。

view.py

class UserFilterView(LoginRequiredMixin, FilterView):
    template_name = 'community/user_list.html'
    model =  User
    filterset_class = UserFilter

    def get_context_data(self, *args, **kwargs):
        context = super(UserFilterView, self).get_context_data(*args, **kwargs)
        context['qs'] = User.objects.all()
        return context

模板:

User Count: {{ filter.qs.count }}