diff options
| author | Jeremy Satterfield <jsatt22@gmail.com> | 2017-08-17 16:41:04 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-09-04 15:15:39 -0400 |
| commit | 0891503fad458e7dfabc5adbf314f80e78e63f14 (patch) | |
| tree | 9751f265caf5b4ec8315a38face009f005090818 /django | |
| parent | 3f2b1d926bb3a72b4c3d2cd958455ebb9b4ca458 (diff) | |
Fixed #28493 -- Made migrations autodetector find dependencies for model renaming.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/migrations/autodetector.py | 8 |
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) |
