在模板中获取QuerySet的第一项

时间:2010-08-19 09:49:11

标签: django django-templates

在我的博客应用中,我想显示博客帖子列表以及与此帖子相关的第一张图片。现在我这样做:

{% for image in entry.image_set.all|slice:"1" %}
    <img src="{{ image.get_absolute_url }}">
{% endfor %}

是否有我不知道的模板快捷方式,或者我应该编写自己的经理?

4 个答案:

答案 0 :(得分:41)

不短,但您可以使用first

{% with entry.image_set.all|first as image %}
  <img src="{{ image.get_absolute_url }}">
{% endwith %}

答案 1 :(得分:5)

从Django 1.6开始,你可以做到

<img src="{{ entry.image_set.first.get_absolute_url }}">

答案 2 :(得分:0)

我有以下查询集,我只是想在Jinja模板中从中检索第一个元素。

<QuerySet [<StudentDetails: StudentDetails object (1)>, <StudentDetails: StudentDetails object (2)>]>

解决方案

{{ StudentDetails.first.name }}

StudentDetails是我的模型

答案 3 :(得分:0)

您还可以执行以下操作: <igWPF:XamDataGrid DataSource="{Binding Data}" DataValueChanged="XamDataGrid_DataValueChanged"> <igWPF:XamDataGrid.FieldLayoutSettings> <igWPF:FieldLayoutSettings AutoGenerateFields="False" AllowAddNew="False" AddNewRecordLocation="OnBottomFixed" /> </igWPF:XamDataGrid.FieldLayoutSettings> <igWPF:XamDataGrid.FieldLayouts> <igWPF:FieldLayout> <igWPF:Field Name="Percent" /> </igWPF:FieldLayout> </igWPF:XamDataGrid.FieldLayouts> </igWPF:XamDataGrid> 在您的模板中。