summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2020-01-13 16:17:52 +0000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-03-25 10:39:34 +0100
commit9e1b6b8a66af4c2197e5b1b41eb9dbb36e4f6502 (patch)
treebb84b9aa85757a92540585fe8bcf9e399d7676c0 /django
parentf3da09df0f4147223ab76a00a841586ccf11005d (diff)
Fixed #23916 -- Allowed makemigrations to handle related model name case changes.
Made autodetector ignore related model name case changes so unnecessary migrations are not created.
Diffstat (limited to 'django')
-rw-r--r--django/db/migrations/autodetector.py7
-rw-r--r--django/db/models/fields/related.py8
2 files changed, 7 insertions, 8 deletions
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index b2db84ffcb..73df3a38c1 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -496,10 +496,13 @@ class MigrationAutodetector:
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)
+ renamed_models_rel_key = '%s.%s' % (
+ rem_model_state.app_label,
+ rem_model_state.name_lower,
+ )
self.renamed_models_rel[renamed_models_rel_key] = '%s.%s' % (
model_state.app_label,
- model_state.name,
+ model_state.name_lower,
)
self.old_model_keys.remove((rem_app_label, rem_model_name))
self.old_model_keys.add((app_label, model_name))
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 536b3dd601..5ce7fac420 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -581,14 +581,10 @@ class ForeignObject(RelatedField):
if self.remote_field.parent_link:
kwargs['parent_link'] = self.remote_field.parent_link
- # Work out string form of "to"
if isinstance(self.remote_field.model, str):
- kwargs['to'] = self.remote_field.model
+ kwargs['to'] = self.remote_field.model.lower()
else:
- kwargs['to'] = "%s.%s" % (
- self.remote_field.model._meta.app_label,
- self.remote_field.model._meta.object_name,
- )
+ kwargs['to'] = self.remote_field.model._meta.label_lower
# If swappable is True, then see if we're actually pointing to the target
# of a swap.
swappable_setting = self.swappable_setting