如何获得项目的排序查询集以按字母顺序显示各部门中的团队还按字母顺序显示部门?Django查询集 - 排序两次
简单的模型是这样的...
class Department(models.Model):
name = models.CharField(max_length=50)
class Teams(models.Model):
name = models.CharField(max_length=50)
dept = models.ForeignKeyField(Department, on_delete=CASCADE)
class Meta:
ordering = ('name',)
class Project(models.Model):
name = models.CharField(max_length=50)
team = models.ForeignKeyField(Teams, on_delete=CASCADE)
在Views.py我想收集团队和部门与项目每队人数按字母顺序显示出来。
...
team_list = []
teams_ = Teams.objects.all().order_by('dept__name')
for team in teams_:
projects = Project.objects.all(team=team)
team_list.append((team, len(projects)))
return render(request, 'index.html', {'team_list': team_list})
模板
则...
<ul>
{% for team, len in team_list %}
<li><a href="{% url 'team_detail' team.id %}">{{ team.dept.name|upper }} - {{ team.name|capfirst }} ({{ len }})</a></li>
{% endfor %}
</ul>
这会显示这样的事情...
Archive - Backup (22)
Archive - Archive (3)
Support - Glossary (32)
Support - A Team (12)
Support - Members (22)
哪项不正确 - 我想和部门的有序字母列表像这样的球队......
Archive - Archive (3)
Archive - Backup (22)
Support - A Team (12)
Support - Glossary (32)
Support - Members (22)
'(“名”, 'dept')' – Sayse