summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJeremy Satterfield <jsatt22@gmail.com>2017-08-17 16:41:04 -0500
committerTim Graham <timograham@gmail.com>2017-09-04 15:15:39 -0400
commit0891503fad458e7dfabc5adbf314f80e78e63f14 (patch)
tree9751f265caf5b4ec8315a38face009f005090818 /django
parent3f2b1d926bb3a72b4c3d2cd958455ebb9b4ca458 (diff)
Fixed #28493 -- Made migrations autodetector find dependencies for model renaming.
Diffstat (limited to 'django')
-rw-r--r--django/db/migrations/autodetector.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index d8fcb5807d..e79e745978 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -468,12 +468,18 @@ class MigrationAutodetector:
rem_model_fields_def = self.only_relation_agnostic_fields(rem_model_state.fields)
if model_fields_def == rem_model_fields_def:
if self.questioner.ask_rename_model(rem_model_state, model_state):
+ model_opts = self.new_apps.get_model(app_label, model_name)._meta
+ dependencies = []
+ for field in model_opts.get_fields():
+ if field.is_relation:
+ dependencies.extend(self._get_dependencies_for_foreign_key(field))
self.add_operation(
app_label,
operations.RenameModel(
old_name=rem_model_state.name,
new_name=model_state.name,
- )
+ ),
+ dependencies=dependencies,
)
self.renamed_models[app_label, model_name] = rem_model_name
renamed_models_rel_key = '%s.%s' % (rem_model_state.app_label, rem_model_state.name)