如何使用django获取第一个元素和最后一个元素,Location.objects.all()

zjm*_*126 16 python django

这是我的代码.

obj_list=Location.objects.all()
first_element=obj_list[0]
last_element=obj_list[-1]
Run Code Online (Sandbox Code Playgroud)

然后,

return render_to_response(template_name, {
        'first_element':first_element,
        'last_element':last_element,
    })
Run Code Online (Sandbox Code Playgroud)

并在模板中:

{{ first_element.terminal_id}} {{last_element.terminal_id}}
Run Code Online (Sandbox Code Playgroud)

但它没有显示,

我能做什么 ,

谢谢

zsq*_*are 27

看看http://docs.djangoproject.com/en/dev/topics/db/queries/#limiting-querysets

Entry.objects.all()[-1]不支持负索引(即).

尝试:

first_element = Location.objects.all()[0]
last_element = Location.objects.all().reverse()[0]
Run Code Online (Sandbox Code Playgroud)

- 更新8/6/17 -

根据@MisterRios的评论,

从1.6开始,Django支持在查询集上使用.first().last(): first_element = Location.objects.first() last_element = Location.objects.last()

请参阅:https://docs.djangoproject.com/en/1.7/ref/models/querysets/#django.db.models.query.QuerySet.first

  • 从 1.6 开始,Django 支持在查询集上使用 `.first()` 和 `.last()`: `first_element = Location.objects.first()` `last_element = Location.objects.last()` 请参见:https:// docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.first (2认同)