我是Django的新手,从PHP过渡 . 我有以下查询列出分组变量的前十个计数,该变量是另一个表的外键 .
Model.objects.values('group').annotate(count = Count('group')).order_by('-count')[:10]
数据的目的地是模板,详细说明了“联盟” . 打印到模板时,我想列出组的可读名称而不是整数外键值 . 在查询中使用values()返回字典而不是对象,我用于处理外键的先前方法失败 . 提前致谢!
使用values()queryset函数,您可以使用以下方法提取外键模型的字段:
.values('foreign__field')
参考您的示例,并假设您的Group模型具有“name”字段,您可以使用:
Model.objects.values('group', 'group__name')...
如果将该dict传递给模板,则可以参考 'group__name' 键:
'group__name'
{% for g in groups %} {{ g.group__name }}
1 回答
使用values()queryset函数,您可以使用以下方法提取外键模型的字段:
.values('foreign__field')
参考您的示例,并假设您的Group模型具有“name”字段,您可以使用:
Model.objects.values('group', 'group__name')...
如果将该dict传递给模板,则可以参考
'group__name'
键:{% for g in groups %} {{ g.group__name }}