mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
parent
1e84d261d6
commit
4ce7a6bc84
6 changed files with 92 additions and 85 deletions
|
@ -245,68 +245,36 @@ class OperationTests(MigrationTestBase):
|
|||
"""
|
||||
Tests the RenameModel operation.
|
||||
"""
|
||||
project_state = self.set_up_test_model("test_rnmo")
|
||||
project_state = self.set_up_test_model("test_rnmo", related_model=True)
|
||||
# Test the state alteration
|
||||
operation = migrations.RenameModel("Pony", "Horse")
|
||||
new_state = project_state.clone()
|
||||
operation.state_forwards("test_rnmo", new_state)
|
||||
self.assertNotIn(("test_rnmo", "pony"), new_state.models)
|
||||
self.assertIn(("test_rnmo", "horse"), new_state.models)
|
||||
# Remember, RenameModel also repoints all incoming FKs and M2Ms
|
||||
self.assertEqual("test_rnmo.Horse", new_state.models["test_rnmo", "rider"].fields[1][1].rel.to)
|
||||
# Test the database alteration
|
||||
self.assertTableExists("test_rnmo_pony")
|
||||
self.assertTableNotExists("test_rnmo_horse")
|
||||
if connection.features.supports_foreign_keys:
|
||||
self.assertFKExists("test_rnmo_rider", ["pony_id"], ("test_rnmo_pony", "id"))
|
||||
self.assertFKNotExists("test_rnmo_rider", ["pony_id"], ("test_rnmo_horse", "id"))
|
||||
with connection.schema_editor() as editor:
|
||||
operation.database_forwards("test_rnmo", editor, project_state, new_state)
|
||||
self.assertTableNotExists("test_rnmo_pony")
|
||||
self.assertTableExists("test_rnmo_horse")
|
||||
if connection.features.supports_foreign_keys:
|
||||
self.assertFKNotExists("test_rnmo_rider", ["pony_id"], ("test_rnmo_pony", "id"))
|
||||
self.assertFKExists("test_rnmo_rider", ["pony_id"], ("test_rnmo_horse", "id"))
|
||||
# And test reversal
|
||||
with connection.schema_editor() as editor:
|
||||
operation.database_backwards("test_rnmo", editor, new_state, project_state)
|
||||
self.assertTableExists("test_dlmo_pony")
|
||||
self.assertTableExists("test_rnmo_pony")
|
||||
self.assertTableNotExists("test_rnmo_horse")
|
||||
|
||||
# See #22248 - this will fail until that's fixed.
|
||||
#
|
||||
# def test_rename_model_with_related(self):
|
||||
# """
|
||||
# Tests the real-world combo of a RenameModel operation with AlterField
|
||||
# for a related field.
|
||||
# """
|
||||
# project_state = self.set_up_test_model(
|
||||
# "test_rnmowr", related_model=True)
|
||||
# # Test the state alterations
|
||||
# model_operation = migrations.RenameModel("Pony", "Horse")
|
||||
# new_state = project_state.clone()
|
||||
# model_operation.state_forwards("test_rnmowr", new_state)
|
||||
# self.assertNotIn(("test_rnmowr", "pony"), new_state.models)
|
||||
# self.assertIn(("test_rnmowr", "horse"), new_state.models)
|
||||
|
||||
# self.assertEqual(
|
||||
# "Pony",
|
||||
# project_state.render().get_model("test_rnmowr", "rider")
|
||||
# ._meta.get_field_by_name("pony")[0].rel.to._meta.object_name)
|
||||
# field_operation = migrations.AlterField(
|
||||
# "Rider", "pony", models.ForeignKey("Horse"))
|
||||
# field_operation.state_forwards("test_rnmowr", new_state)
|
||||
# self.assertEqual(
|
||||
# "Horse",
|
||||
# new_state.render().get_model("test_rnmowr", "rider")
|
||||
# ._meta.get_field_by_name("pony")[0].rel.to._meta.object_name)
|
||||
|
||||
# # Test the database alterations
|
||||
# self.assertTableExists("test_rnmowr_pony")
|
||||
# self.assertTableNotExists("test_rnmowr_horse")
|
||||
# with connection.schema_editor() as editor:
|
||||
# model_operation.database_forwards("test_rnmowr", editor, project_state, new_state)
|
||||
# field_operation.database_forwards("test_rnmowr", editor, project_state, new_state)
|
||||
# self.assertTableNotExists("test_rnmowr_pony")
|
||||
# self.assertTableExists("test_rnmowr_horse")
|
||||
# # And test reversal
|
||||
# with connection.schema_editor() as editor:
|
||||
# field_operation.database_backwards("test_rnmowr", editor, new_state, project_state)
|
||||
# model_operation.database_backwards("test_rnmowr", editor, new_state, project_state)
|
||||
# self.assertTableExists("test_rnmowr_pony")
|
||||
# self.assertTableNotExists("test_rnmowr_horse")
|
||||
if connection.features.supports_foreign_keys:
|
||||
self.assertFKExists("test_rnmo_rider", ["pony_id"], ("test_rnmo_pony", "id"))
|
||||
self.assertFKNotExists("test_rnmo_rider", ["pony_id"], ("test_rnmo_horse", "id"))
|
||||
|
||||
def test_add_field(self):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue