在列表视图中显示 Django 中的项目数
Show number of items in Django in list view
我正在尝试显示潜在客户中每个类别的数量。但我无法展示它。感谢您的帮助。
我正在学习 django 和 python。尝试了很多选择,但都失败了。
下面是我的代码。
型号:
class Leads(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
age = models.IntegerField(default=0)
orginasation = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
agent = models.ForeignKey("Agent",null=True, blank= True ,on_delete=models.SET_NULL)
category = models.ForeignKey("Category", related_name="leads", on_delete= models.SET_NULL, null=True, blank=True)
def __str__(self):
return f"{self.first_name} {self.last_name}"
class Category(models.Model):
name = models.CharField(max_length=30,) # New, Contact, Converted, Unconverted
orginasation = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
def __str__(self):
return self.name
查看:
class CategoryListView(LoginRequiredMixin, generic.ListView):
template_name = "leads/category_list.html"
context_object_name = "category_list"
def get_queryset(self, **kwargs):
user = self.request.user
#initial query set for entire organisation
if user.is_organisor:
queryset = models.Category.objects.filter(orginasation=user.userprofile)
else:
queryset = models.Category.objects.filter(orginasation=user.agent.orginasation)
# count = models.Leads.objects.filter(category = 3).count()
return queryset
模板
{% for category in category_list %}
<tr>
<td>{{category.name}}/td>
<td>{{category.count}}</td>
</tr>
{% endfor %}
如果我理解您的问题,您应该尝试将模板中的 {{category.count}}
更改为 {{ category.leads.all.count }}
。
我正在尝试显示潜在客户中每个类别的数量。但我无法展示它。感谢您的帮助。
我正在学习 django 和 python。尝试了很多选择,但都失败了。
下面是我的代码。
型号:
class Leads(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
age = models.IntegerField(default=0)
orginasation = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
agent = models.ForeignKey("Agent",null=True, blank= True ,on_delete=models.SET_NULL)
category = models.ForeignKey("Category", related_name="leads", on_delete= models.SET_NULL, null=True, blank=True)
def __str__(self):
return f"{self.first_name} {self.last_name}"
class Category(models.Model):
name = models.CharField(max_length=30,) # New, Contact, Converted, Unconverted
orginasation = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
def __str__(self):
return self.name
查看:
class CategoryListView(LoginRequiredMixin, generic.ListView):
template_name = "leads/category_list.html"
context_object_name = "category_list"
def get_queryset(self, **kwargs):
user = self.request.user
#initial query set for entire organisation
if user.is_organisor:
queryset = models.Category.objects.filter(orginasation=user.userprofile)
else:
queryset = models.Category.objects.filter(orginasation=user.agent.orginasation)
# count = models.Leads.objects.filter(category = 3).count()
return queryset
模板
{% for category in category_list %}
<tr>
<td>{{category.name}}/td>
<td>{{category.count}}</td>
</tr>
{% endfor %}
如果我理解您的问题,您应该尝试将模板中的 {{category.count}}
更改为 {{ category.leads.all.count }}
。