Source code for django_delayed_union.intersection

from .base import DelayedQuerySet


[docs]class DelayedIntersectionQuerySet(DelayedQuerySet): def __init__(self, *querysets): # Handle the case when a DelayedIntersectionQuerySet is passed in expanded_querysets = [] for queryset in querysets: if isinstance(queryset, DelayedIntersectionQuerySet): expanded_querysets.extend(queryset._querysets) else: expanded_querysets.append(queryset) return super(DelayedIntersectionQuerySet, self).__init__( *expanded_querysets ) def _apply_operation(self): """ Returs the union of all of the component querysets. """ return self._querysets[0].intersection(*self._querysets[1:])
[docs] def distinct(self): """ Returns a new :class:`DelayedIntersectionQuerySet` instance that will select only distinct results. """ clone = self._clone() return clone