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

Method prefetch_related

ormar/queryset/queryset.py:426–451  ·  view source on GitHub ↗

Allows to prefetch related models during query - but opposite to `select_related` each subsequent model is fetched in a separate database query. **With `prefetch_related` always one query per Model is run against the database**, meaning that you will have multiple q

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

Source from the content-addressed store, hash-verified

424 return self.rebuild_self(select_related=relations)
425
426 def prefetch_related(
427 self, related: Union[list, str, FieldAccessor]
428 ) -> "QuerySet[T]":
429 """
430 Allows to prefetch related models during query - but opposite to
431 `select_related` each subsequent model is fetched in a separate database query.
432
433 **With `prefetch_related` always one query per Model is run against the
434 database**, meaning that you will have multiple queries executed one
435 after another.
436
437 To fetch related model use `ForeignKey` names.
438
439 To chain related `Models` relation use double underscores between names.
440
441 :param related: list of relation field names, can be linked by '__' to nest
442 :type related: Union[list, str]
443 :return: QuerySet
444 :rtype: QuerySet
445 """
446 if not isinstance(related, list):
447 related = [related]
448 related = cast(list, extract_access_chains(related))
449
450 related = list(set(list(self._prefetch_related) + related))
451 return self.rebuild_self(prefetch_related=related)
452
453 def flatten_fields(
454 self,

Calls 2

rebuild_selfMethod · 0.95
extract_access_chainsFunction · 0.90