From f5da4380723c93998a4f5a845b6f26fa51a2cfe1 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 18 May 2015 09:09:13 -0400 Subject: [PATCH] Fixed #24812 -- Fixed app registry RuntimeWarnings in schema and migrations tests. --- tests/migrations/test_state.py | 9 +++++++++ tests/schema/tests.py | 13 ++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/migrations/test_state.py b/tests/migrations/test_state.py index 58bf18921a..3c6abe3a91 100644 --- a/tests/migrations/test_state.py +++ b/tests/migrations/test_state.py @@ -396,17 +396,22 @@ class StateTests(TestCase): #24573 - Adding relations to existing models should reload the referenced models too. """ + new_apps = Apps() + class A(models.Model): class Meta: app_label = 'something' + apps = new_apps class B(A): class Meta: app_label = 'something' + apps = new_apps class C(models.Model): class Meta: app_label = 'something' + apps = new_apps project_state = ProjectState() project_state.add_model(ModelState.from_model(A)) @@ -447,15 +452,19 @@ class StateTests(TestCase): #24225 - Tests that relations between models are updated while remaining the relations and references for models of an old state. """ + new_apps = Apps() + class A(models.Model): class Meta: app_label = "something" + apps = new_apps class B(models.Model): to_a = models.ForeignKey(A) class Meta: app_label = "something" + apps = new_apps def get_model_a(state): return [mod for mod in state.apps.get_models() if mod._meta.model_name == 'a'][0] diff --git a/tests/schema/tests.py b/tests/schema/tests.py index de38f6db94..ba20a8a9ac 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -765,8 +765,10 @@ class SchemaTests(TransactionTestCase): app_label = 'schema' apps = new_apps - self.local_models = [LocalBookWithM2M] - + self.local_models = [ + LocalBookWithM2M, + LocalBookWithM2M._meta.get_field('tags').remote_field.through, + ] # Create the tables with connection.schema_editor() as editor: editor.create_model(Author) @@ -845,6 +847,7 @@ class SchemaTests(TransactionTestCase): # Create an M2M field new_field = M2MFieldClass("schema.TagM2MTest", related_name="authors") new_field.contribute_to_class(LocalAuthorWithM2M, "tags") + self.local_models += [new_field.remote_field.through] # Ensure there's no m2m table there self.assertRaises(DatabaseError, self.column_classes, new_field.remote_field.through) # Add the field @@ -934,7 +937,10 @@ class SchemaTests(TransactionTestCase): app_label = 'schema' apps = new_apps - self.local_models = [LocalBookWithM2M] + self.local_models = [ + LocalBookWithM2M, + LocalBookWithM2M._meta.get_field('tags').remote_field.through, + ] # Create the tables with connection.schema_editor() as editor: @@ -955,6 +961,7 @@ class SchemaTests(TransactionTestCase): old_field = LocalBookWithM2M._meta.get_field("tags") new_field = M2MFieldClass(UniqueTest) new_field.contribute_to_class(LocalBookWithM2M, "uniques") + self.local_models += [new_field.remote_field.through] with connection.schema_editor() as editor: editor.alter_field(LocalBookWithM2M, old_field, new_field) # Ensure old M2M is gone