Get last record in a queryset

How can I retrieve the last record in a certain queryset?


Solution 1:

Django Doc:

latest(field_name=None) returns the latest object in the table, by date, using the field_name provided as the date field.

This example returns the latest Entry in the table, according to the pub_date field:

Entry.objects.latest('pub_date')

Solution 2:

EDIT : You now have to use Entry.objects.latest('pub_date')


You could simply do something like this, using reverse():

queryset.reverse()[0]

Also, beware this warning from the Django documentation:

... note that reverse() should generally only be called on a QuerySet which has a defined ordering (e.g., when querying against a model which defines a default ordering, or when using order_by()). If no such ordering is defined for a given QuerySet, calling reverse() on it has no real effect (the ordering was undefined prior to calling reverse(), and will remain undefined afterward).