Skip to content

Commit

Permalink
Edits.
Browse files Browse the repository at this point in the history
  • Loading branch information
felixxm committed Mar 25, 2020
1 parent c9b58e6 commit ad4bfaa
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 21 deletions.
5 changes: 4 additions & 1 deletion django/db/migrations/autodetector.py
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,10 @@ def generate_renamed_models(self):
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_lower)
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_lower,
Expand Down
8 changes: 1 addition & 7 deletions django/db/models/fields/related.py
Original file line number Diff line number Diff line change
Expand Up @@ -581,14 +581,8 @@ def deconstruct(self):

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):
# Force model name to lower case
if "." in self.remote_field.model:
app_label, _dot, rest = self.remote_field.model.partition(".")
kwargs['to'] = "%s.%s" % (app_label, rest.lower())
else:
kwargs['to'] = self.remote_field.model.lower()
kwargs['to'] = self.remote_field.model.lower()
else:
kwargs['to'] = self.remote_field.model._meta.label_lower
# If swappable is True, then see if we're actually pointing to the target
Expand Down
19 changes: 6 additions & 13 deletions tests/migrations/test_autodetector.py
Original file line number Diff line number Diff line change
Expand Up @@ -1034,22 +1034,15 @@ def test_rename_model(self):

def test_rename_model_case(self):
"""
Tests that a model changing case doesn't lead to any autodetected
operations.
Model name is case-insensitive. Changing case doesn't lead to any
autodetected operations.
"""
author1 = ModelState('testapp', 'author', [("id", models.AutoField(primary_key=True))])
book1 = ModelState("otherapp", "Book", [
("id", models.AutoField(primary_key=True)),
("author", models.ForeignKey("testapp.Author", models.CASCADE)),
])
author2 = ModelState('testapp', 'Author', [("id", models.AutoField(primary_key=True))])
book2 = ModelState("otherapp", "Book", [
("id", models.AutoField(primary_key=True)),
("author", models.ForeignKey("testapp.Author", models.CASCADE)),
author_renamed = ModelState('testapp', 'author', [
('id', models.AutoField(primary_key=True)),
])
changes = self.get_changes(
[author1, book1],
[author2, book2],
[self.author_empty, self.book],
[author_renamed, self.book],
questioner=MigrationQuestioner({'ask_rename_model': True}),
)
self.assertNumberMigrations(changes, 'testapp', 0)
Expand Down

0 comments on commit ad4bfaa

Please sign in to comment.