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

This commit is contained in:
Tim Graham 2015-05-18 09:09:13 -04:00
parent e4f0e5a981
commit f5da438072
2 changed files with 19 additions and 3 deletions

View File

@ -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]

View File

@ -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