def __iter__(self):
"""Loop over Query class yields Model instances."""
for message in self.result:
- yield self._model_from_message(message)
+ yield self._from_message(message)
- def _model_from_message(self, message):
+ def _from_message(self, message):
"""Returns the model class to use to construct instances.
If polymorphic query is enabled it will use the last item from
def first(self):
"""Returns the first item in the Query or None for no results."""
if self.count:
- return self._model_from_message(self.result[0])
+ return self._from_message(self.result[0])
def last(self):
"""Returns the last item in the Query or None for no results."""
if self.count:
- return self._model_from_message(self.result[-1])
+ return self._from_message(self.result[-1])
def get(self):
"""Returns one item or None if no results were found.
raise MultipleObjectsReturned(
f"More than one {self.name} objects returned (got {self.count}).")
elif self.count:
- return self._model_from_message(self.result[0])
+ return self._from_message(self.result[0])
def one(self):
"""Must return EXACTLY one item or raise an exception.
raise MultipleObjectsReturned(
f"More than one {self.name} objects returned (got {self.count}).")
else:
- return self._model_from_message(self.result[0])
+ return self._from_message(self.result[0])