Skip to content

Instantly share code, notes, and snippets.

View ecederstrand's full-sized avatar

Erik Cederstrand ecederstrand

View GitHub Profile
@ecederstrand
ecederstrand / prefetch.py
Last active September 17, 2015 20:54
Prefetch objects using the original filters rather than the IN clause used by prefetch_related()
from collections import defaultdict
import logging
from django.db.models import Q
from django.db.models.fields.related import ForeignRelatedObjectsDescriptor, ReverseSingleRelatedObjectDescriptor, \
ReverseManyRelatedObjectsDescriptor
log = logging.getLogger(__name__)
def to_tree(prefetch_fields):