diff options
Diffstat (limited to 'django/db/models/expressions.py')
-rw-r--r-- | django/db/models/expressions.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/django/db/models/expressions.py b/django/db/models/expressions.py index 86a3a92f07..c270ef16c7 100644 --- a/django/db/models/expressions.py +++ b/django/db/models/expressions.py @@ -405,6 +405,12 @@ class BaseExpression: ) return clone + def get_refs(self): + refs = set() + for expr in self.get_source_expressions(): + refs |= expr.get_refs() + return refs + def copy(self): return copy.copy(self) @@ -1167,6 +1173,9 @@ class Ref(Expression): # just a reference to the name of `source`. return self + def get_refs(self): + return {self.refs} + def relabeled_clone(self, relabels): return self |