1
0
mirror of https://github.com/django/django.git synced 2025-09-25 07:59:11 +00:00

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.
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): def _get_dependencies_for_generated_field(self, field):
dependencies = [] 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) newly_added_fields = sorted(self.new_field_keys - self.old_field_keys)
for app_label, model_name, added_field_name in newly_added_fields: for app_label, model_name, added_field_name in newly_added_fields:
added_field = self.to_state.models[app_label, model_name].get_field( added_field = self.to_state.models[app_label, model_name].get_field(