Django Model Fetch Modes (models/fetch_modes.py)

django · django/db/models/fetch_modes.py · python · BSD-3-Clause
database, lang:python, fw:django

Defines strategies for fetching related database model instances. Use this to control how Django ORM retrieves single objects or peer-related records during query execution.

# Source: https://github.com/django/django | License: BSD-3-Clause | Copyright Django Software Foundation and individual contributors
# Provided via justclaw.it.com; keep this notice with the code.
from django.core.exceptions import FieldFetchBlocked


class FetchMode:
    __slots__ = ()

    track_peers = False

    def fetch(self, fetcher, instance):
        raise NotImplementedError("Subclasses must implement this method.")


class FetchOne(FetchMode):
    __slots__ = ()

    def fetch(self, fetcher, instance):
        fetcher.fetch_one(instance)

    def __reduce__(self):
        return "FETCH_ONE"


FETCH_ONE = FetchOne()


class FetchPeers(FetchMode):
    __slots__ = ()

    track_peers = True

    def fetch(self, fetcher, instance):
        instances = [
            peer
           

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key