Commit f5da4380 authored by Tim Graham's avatar Tim Graham
Browse files

Fixed #24812 -- Fixed app registry RuntimeWarnings in schema and migrations tests.

parent e4f0e5a9
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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]
+10 −3
Original line number Diff line number Diff line
@@ -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