【发布时间】:2020-09-09 01:57:25
【问题描述】:
以用户为例,我试图展示有多少用户。 get_context_data 工作得很好,但 get_queryset 不行。我知道它没有正确设置,但我已经玩了好几天了,只是没有点击..
主要目标是使用Dajngo-Filter 表单,然后能够获取更新的用户数。我只找到了关于如何显示用户“列表”的无穷无尽的文档。我已经完成了,但没有关于如何显示自定义变量的文档。我有很多统计数据和图表,我想根据应用的过滤器进行计算。
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['filter'] = UserFilter(self.request.GET, queryset=self.get_queryset())
标签: django django-rest-framework django-views django-class-based-views django-filter