例如我有一个查询集说folder=Folder.objects.all()
。
如何在其中保存一些额外的变量说
for i in folder:
i.fcount = 33
这样我就可以在模板中轻松使用它,例如:
{% for folder in folders %}{{ folder.fcount }}{% endfor %}
我在我的一个页面中使用这样的:
模型.py
class Folder(models.Model):
employer=models.ForeignKey(Employer)
name=models.CharField(max_length=100)
lastupdate= models.DateTimeField(auto_now=True)
class SavedCandidateManager(models.Manager):
def itemcount(self,fd):
return self.filter(folder=fd).count()
class SavedCandidate(models.Model):
folder=models.ForeignKey(Folder)
candidate=models.ForeignKey(Jobseeker)
created=models.DateTimeField(auto_now_add = True)
objects=SavedCandidateManager()
视图.py
def folder(request):
folder=Folder.objects.filter(employer=request.user.employer)
for i in folder:
i.fcount=SavedCandidate.objects.itemcount(i)
return render(request,'employer/pages/candidatefolder.html', {'folders':folder})
候选文件夹.html
{% for folder in folders %}
<tr>
<td>
<a href="/Folder/{{ folder.id }}/" >{{ folder.name }}</a>
</td>
<td>{{ folder.fcount }}</td>
<td>{{ folder.lastupdate }}</td>
</tr>
{% endfor %}
这非常有帮助,因为我可以在 forloop 外观中轻松地在模板中使用它:
{{ folder.fcount }}