From 336e713e2a1ac143eeec021d66a6f3168f983183 Mon Sep 17 00:00:00 2001 From: Clifford Gama Date: Sun, 14 Sep 2025 15:36:58 +0200 Subject: [PATCH] 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. --- django/db/migrations/autodetector.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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(