моего кодаобновления значения параметра контекста из get_queryset() Джанго
class Leads(LoginRequiredMixin, ListView):
def get_queryset(self):
q = self.request.GET.get('q', "all")
if q == "customer":
qs = alllead.objects.filter(isCustomer="yes")
elif q == "lead":
qs = alllead.objects.filter(isCustomer="no")
else:
qs = self.queryset
return qs
def get_context_data(self, **kwargs):
context = super(Leads, self).get_context_data(**kwargs)
count = self.queryset.count()
context['count'] = count or "000"
return context
поэтому я фильтрование моего QuerySet, а также мне нужно, чтобы установить количество записей в качестве параметра контекста «считать» но число записей не является обновление так я изменил свой код
def get_queryset(self):
q = self.request.GET.get('q', "all")
if q == "customer":
qs = alllead.objects.filter(isCustomer="yes")
elif q == "lead":
qs = alllead.objects.filter(isCustomer="no")
else:
qs = self.queryset
return qs
def get_context_data(self, **kwargs):
context = super(Leads, self).get_context_data(**kwargs)
q = self.request.GET.get('q', "none")
if q == "customer":
count = alllead.objects.filter(isCustomer="yes").count()
elif q == "lead":
count = alllead.objects.filter(isCustomer="no").count()
else:
count = self.queryset.count()
context['count'] = count or "000"
return context
я думаю, что я дублирование кода, и это не правильный способ сделать это. может кто-нибудь предложить мне оптимальный способ обновления
context['count'] = qs.count()
#inside get_queryset()
Спасибо, что я изменил свой шаблон '{{object_list.count | default:" 0 "}}' , но это показывает только 25? который представляет собой текущий объект с разбивкой по страницам? –
'count = context ['alllead_list']. Count()' this sollution также дает количество текущих объектов с разбивкой по страницам 25 –
'{{paginator.count}}' работает для меня. он решает мою проблему только в одной строке –