diff options
Diffstat (limited to 'django/db/models/fields/generated.py')
| -rw-r--r-- | django/db/models/fields/generated.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/django/db/models/fields/generated.py b/django/db/models/fields/generated.py index f6e3445b71..f89269b5e6 100644 --- a/django/db/models/fields/generated.py +++ b/django/db/models/fields/generated.py @@ -66,6 +66,16 @@ class GeneratedField(Field): sql = f"CASE WHEN {sql} THEN 1 ELSE 0 END" return sql, params + @cached_property + def referenced_fields(self): + resolved_expression = self.expression.resolve_expression( + self._query, allow_joins=False + ) + referenced_fields = [] + for col in self._query._gen_cols([resolved_expression]): + referenced_fields.append(col.target) + return frozenset(referenced_fields) + def check(self, **kwargs): databases = kwargs.get("databases") or [] errors = [ |
