Refs #36438 -- Simplified retrieval of GeneratedField base fields in migrations autodetector.
Some checks failed
Linters / flake8 (push) Has been cancelled
Linters / isort (push) Has been cancelled
Linters / black (push) Has been cancelled
Tests / Windows, SQLite, Python 3.13 (push) Has been cancelled
Tests / JavaScript tests (push) Has been cancelled

This was creating an unusable Q object solely to call
referenced_base_fields on it.
This commit is contained in:
Clifford Gama 2025-09-14 15:36:58 +02:00 committed by Jacob Walls
parent 5ee651f255
commit 336e713e2a

View file

@ -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(