--- django/db/models/query.py 2018-03-13 07:07:54.156249000 -0700 +++ django/db/models/query.py 2018-03-14 09:06:43.378819023 -0700 @@ -5,6 +5,7 @@ import copy import sys import warnings +import inspect from collections import OrderedDict, deque from django.conf import settings @@ -171,6 +172,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`. @@ -310,6 +313,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