1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #19326 -- Added first() and last() methods to QuerySet

This commit is contained in:
Selwin Ong
2013-05-21 18:35:12 +03:00
committed by Anssi Kääriäinen
parent d595b61aca
commit ea9a0857d4
5 changed files with 92 additions and 0 deletions

View File

@@ -1585,6 +1585,36 @@ earliest
Works otherwise like :meth:`~django.db.models.query.QuerySet.latest` except
the direction is changed.
first
~~~~~
.. method:: first()
.. versionadded:: 1.6
Returns the first object matched by the queryset, or ``None`` if there
is no matching object. If the ``QuerySet`` has no ordering defined, then the
queryset is automatically ordered by the primary key.
Example::
p = Article.objects.order_by('title', 'pub_date').first()
Note that ``first()`` is a convenience method, the following code sample is
equivalent to the above example::
try:
p = Article.objects.order_by('title', 'pub_date')[0]
except IndexError:
p = None
last
~~~~
.. method:: last()
.. versionadded:: 1.6
Works like :meth:`first()` except the ordering is reversed.
aggregate
~~~~~~~~~

View File

@@ -253,6 +253,11 @@ Minor features
allow users to specify the primary keys of objects they want to dump.
This option can only be used with one model.
* Added ``QuerySet`` methods :meth:`~django.db.models.query.QuerySet.first`
and :meth:`~django.db.models.query.QuerySet.last` which are convenience
methods returning the first or last object matching the filters. Returns
``None`` if there are no objects matching.
Backwards incompatible changes in 1.6
=====================================