--- ../x/env/lib/python2.7/site-packages/django/db/models/query.py 2017-04-07 15:10:29.426831000 -0700 +++ env/lib/python2.7/site-packages/django/db/models/query.py 2017-04-12 08:23:20.061651277 -0700 @@ -5,6 +5,7 @@ import copy import sys import warnings +import inspect from collections import OrderedDict, deque from django.conf import settings @@ -34,7 +35,6 @@ # Pull into this namespace for backwards compatibility. EmptyResultSet = sql.EmptyResultSet - class BaseIterable(object): def __init__(self, queryset): self.queryset = queryset @@ -51,6 +51,7 @@ compiler = queryset.query.get_compiler(using=db) # Execute the query. This will also fill compiler.select, klass_info, # and annotations. + results = compiler.execute_sql() select, klass_info, annotation_col_map = (compiler.select, compiler.klass_info, compiler.annotation_col_map) @@ -174,6 +175,8 @@ self._known_related_objects = {} # {rel_field, {pk: rel_obj}} self._iterable_class = ModelIterable self._fields = None + self._origin = [] + self._djangodir = __file__[:(__file__.index('django')+len('django')+1)] def as_manager(cls): # Address the circular dependency between `Queryset` and `Manager`. @@ -316,6 +319,31 @@ combined.query.combine(other.query, sql.OR) return combined + def _add_origin(self, depth=1): + import debug + if settings.DEBUG: + # get list of frame records. Each is: + # [ frame, filename, lineno, function, code_context, index ] + stack = inspect.stack(5) + # caller stack record + method = stack[depth][3] + # look for the first stack entry which is not from django + i = 0 + while i