MCPcopy
hub / github.com/ormar-orm/ormar / select_related

Method select_related

ormar/queryset/queryset.py:376–398  ·  view source on GitHub ↗

Allows to prefetch related models during the same query. **With `select_related` always only one query is run against the database**, meaning that one (sometimes complicated) join is generated and later nested models are processed in python. To fetch relate

(self, related: Union[list, str, FieldAccessor])

Source from the content-addressed store, hash-verified

374 return self.filter(_exclude=True, *args, **kwargs)
375
376 def select_related(self, related: Union[list, str, FieldAccessor]) -> "QuerySet[T]":
377 """
378 Allows to prefetch related models during the same query.
379
380 **With `select_related` always only one query is run against the database**,
381 meaning that one (sometimes complicated) join is generated and later nested
382 models are processed in python.
383
384 To fetch related model use `ForeignKey` names.
385
386 To chain related `Models` relation use double underscores between names.
387
388 :param related: list of relation field names, can be linked by '__' to nest
389 :type related: Union[list, str]
390 :return: QuerySet
391 :rtype: QuerySet
392 """
393 if not isinstance(related, list):
394 related = [related]
395 related = cast(list, extract_access_chains(related))
396
397 related = sorted(list(set(list(self._select_related) + related)))
398 return self.rebuild_self(select_related=related)
399
400 def select_all(self, follow: bool = False) -> "QuerySet[T]":
401 """

Callers 15

run_queryFunction · 0.45
run_queryFunction · 0.45
get_itemsFunction · 0.45
sample_dataFunction · 0.45
test_typesFunction · 0.45
test_selecting_subsetFunction · 0.45

Calls 2

rebuild_selfMethod · 0.95
extract_access_chainsFunction · 0.90