我有以下型号:
class Company(CachedModel):
name = models.CharField(max_length=255)
class UserExtendedProfile(CachedModel):
company = models.ForeignKey(Company)
user = models.ForeignKey(User)
我基本上需要得到一个按公司排序的用户列表,如下所示:
Company A
User 1
User 2
Company B
User 3
user 4
我试了几种方法,最接近的是:
users = UserExtendedProfile.objects.values('company', 'user').order_by('company')
然而,这只会给予我这样的结果:
[{'company': 1L, 'user': 17L}, {'company': 1L, 'user': 6L}, {'company': 2L, 'user': 15L}]
有线索吗?
谢谢
2条答案
按热度按时间x3naxklr1#
你可以在
order_by()
方法上添加多个参数,因此你可以在排序中进行排序。对于如下结构:
尝试使用默认规则
这样,您就可以在users上获得您想要的结构。
qoefvg9y2#
如果您只是为了显示而尝试完成此操作,请查看:https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#regroup
它允许您在模板中执行此操作。