Python 使用for循环在模板中插入多个相关模型值
我试图在模板中的for循环中发布来自不同模型的多个值。它不是在做我计划的事情。我想在表中显示属于Lead的LeadActions的计数。我确实评论了那个不太好用的部分。该表应显示潜在客户列表以及该特定潜在客户的过期操作(潜在客户操作)数量 我的观点Python 使用for循环在模板中插入多个相关模型值,python,django,Python,Django,我试图在模板中的for循环中发布来自不同模型的多个值。它不是在做我计划的事情。我想在表中显示属于Lead的LeadActions的计数。我确实评论了那个不太好用的部分。该表应显示潜在客户列表以及该特定潜在客户的过期操作(潜在客户操作)数量 我的观点 class LeadListView(LoginRequiredMixin, generic.ListView): login_url = '/scrty/login/' template_name = "nodiso/leadsli
class LeadListView(LoginRequiredMixin, generic.ListView):
login_url = '/scrty/login/'
template_name = "nodiso/leadslist.html"
model = models.Leads
def get_context_data(self, **kwargs):
ctx = super(LeadListView, self).get_context_data(**kwargs)
ctx['actions']= models.LeadActions.objects.all()
return ctx
def get_queryset(self):
return models.Leads.objects.filter(company=self.request.session['compid'],archive=False)
我的模板
<table class="table">
<thead>
<th>Name</th>
<th>Overdue Tasks</th>
<th>Total Tasks</th>
</thead>
{% for lead in leads_list %}
{# {% for action in action_list %}#}
<tr>
<td><a href="{% url 'nodiso:leaddetail' lead.id %}">{{lead.name}}</a></td>
<td><span class="badge">{{ actions.name|length }}</span></td>
<td><span class="badge">42</span></td>
</tr>
{# {% endfor %}#}
{% endfor %}
</table>
您不应该从视图发送操作列表。相反,在模板中,您可以访问
{{lead.leadactions\u set.count}}
以给出与循环中每个lead相关的leadactions的计数。谢谢,如果我想要其他值,如过期计数,我将如何查询该值
class LeadActions(models.Model):
lead = models.ForeignKey(Leads)
name = models.CharField(max_length=265)
crdate = models.DateField(auto_now_add=True)
Duedate = models.DateField()
creator = models.CharField(max_length=265)
overdue = models.IntegerField(null=True,blank=True)
def __str__(self):
return self.name
class Leads(models.Model):
company = models.ManyToManyField(Company)
user = models.ManyToManyField(settings.AUTH_USER_MODEL)
name = models.CharField(max_length=265)
email = models.EmailField(max_length=265)
tel = models.IntegerField()
archive = models.BooleanField(default=False)
dateenq = models.DateField(auto_now_add=True,null=True)
def get_absolute_url(self):
return reverse('nodisoapp:leadlist')
def __str__(self):
return self.name