MCPcopy
hub / github.com/tortoise/tortoise-orm / last

Method last

tortoise/queryset.py:831–849  ·  view source on GitHub ↗

Limit queryset to one object and return the last object instead of list.

(self)

Source from the content-addressed store, hash-verified

829 return queryset._as_single()
830
831 def last(self) -> QuerySetSingle[MODEL | None]:
832 """
833 Limit queryset to one object and return the last object instead of list.
834 """
835 queryset = self._clone()
836
837 if queryset._orderings:
838 new_ordering = [
839 (field, Order.desc if order_type == Order.asc else Order.asc)
840 for field, order_type in queryset._orderings
841 ]
842 elif pk := self.model._meta.pk:
843 new_ordering = [(pk.model_field_name, Order.desc)]
844 else:
845 raise FieldError(
846 f"QuerySet has no ordering and model {self.model.__name__} has no pk defined"
847 )
848 queryset._orderings = new_ordering
849 return queryset._as_single()
850
851 def get(self, *args: Q, **kwargs: Any) -> QuerySetSingle[MODEL]:
852 """

Callers

nothing calls this directly

Calls 3

_cloneMethod · 0.95
FieldErrorClass · 0.90
_as_singleMethod · 0.80

Tested by

no test coverage detected