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