summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClifford Gama <cliffygamy@gmail.com>2025-09-14 15:36:58 +0200
committerJacob Walls <jacobtylerwalls@gmail.com>2025-09-19 15:54:19 -0400
commit336e713e2a1ac143eeec021d66a6f3168f983183 (patch)
treef05611fcafc71dd34d6f2989b3134f22835d9f95
parent5ee651f2555f3258b136f6e8be90f018fd8ffbf0 (diff)
Refs #36438 -- Simplified retrieval of GeneratedField base fields in migrations autodetector.
This was creating an unusable Q object solely to call referenced_base_fields on it.
-rw-r--r--django/db/migrations/autodetector.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index f974c4e4ea..7cc22c0637 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -1682,7 +1682,10 @@ class MigrationAutodetector:
def _get_dependencies_for_generated_field(self, field):
dependencies = []
- referenced_base_fields = models.Q(field.expression).referenced_base_fields
+ referenced_base_fields = [
+ name
+ for name, *lookups in models.Model._get_expr_references(field.expression)
+ ]
newly_added_fields = sorted(self.new_field_keys - self.old_field_keys)
for app_label, model_name, added_field_name in newly_added_fields:
added_field = self.to_state.models[app_label, model_name].get_field(