Fixed #24812 -- Fixed app registry RuntimeWarnings in schema and migrations tests.
This commit is contained in:
parent
e4f0e5a981
commit
f5da438072
|
@ -396,17 +396,22 @@ class StateTests(TestCase):
|
||||||
#24573 - Adding relations to existing models should reload the
|
#24573 - Adding relations to existing models should reload the
|
||||||
referenced models too.
|
referenced models too.
|
||||||
"""
|
"""
|
||||||
|
new_apps = Apps()
|
||||||
|
|
||||||
class A(models.Model):
|
class A(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
app_label = 'something'
|
app_label = 'something'
|
||||||
|
apps = new_apps
|
||||||
|
|
||||||
class B(A):
|
class B(A):
|
||||||
class Meta:
|
class Meta:
|
||||||
app_label = 'something'
|
app_label = 'something'
|
||||||
|
apps = new_apps
|
||||||
|
|
||||||
class C(models.Model):
|
class C(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
app_label = 'something'
|
app_label = 'something'
|
||||||
|
apps = new_apps
|
||||||
|
|
||||||
project_state = ProjectState()
|
project_state = ProjectState()
|
||||||
project_state.add_model(ModelState.from_model(A))
|
project_state.add_model(ModelState.from_model(A))
|
||||||
|
@ -447,15 +452,19 @@ class StateTests(TestCase):
|
||||||
#24225 - Tests that relations between models are updated while
|
#24225 - Tests that relations between models are updated while
|
||||||
remaining the relations and references for models of an old state.
|
remaining the relations and references for models of an old state.
|
||||||
"""
|
"""
|
||||||
|
new_apps = Apps()
|
||||||
|
|
||||||
class A(models.Model):
|
class A(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
app_label = "something"
|
app_label = "something"
|
||||||
|
apps = new_apps
|
||||||
|
|
||||||
class B(models.Model):
|
class B(models.Model):
|
||||||
to_a = models.ForeignKey(A)
|
to_a = models.ForeignKey(A)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
app_label = "something"
|
app_label = "something"
|
||||||
|
apps = new_apps
|
||||||
|
|
||||||
def get_model_a(state):
|
def get_model_a(state):
|
||||||
return [mod for mod in state.apps.get_models() if mod._meta.model_name == 'a'][0]
|
return [mod for mod in state.apps.get_models() if mod._meta.model_name == 'a'][0]
|
||||||
|
|
|
@ -765,8 +765,10 @@ class SchemaTests(TransactionTestCase):
|
||||||
app_label = 'schema'
|
app_label = 'schema'
|
||||||
apps = new_apps
|
apps = new_apps
|
||||||
|
|
||||||
self.local_models = [LocalBookWithM2M]
|
self.local_models = [
|
||||||
|
LocalBookWithM2M,
|
||||||
|
LocalBookWithM2M._meta.get_field('tags').remote_field.through,
|
||||||
|
]
|
||||||
# Create the tables
|
# Create the tables
|
||||||
with connection.schema_editor() as editor:
|
with connection.schema_editor() as editor:
|
||||||
editor.create_model(Author)
|
editor.create_model(Author)
|
||||||
|
@ -845,6 +847,7 @@ class SchemaTests(TransactionTestCase):
|
||||||
# Create an M2M field
|
# Create an M2M field
|
||||||
new_field = M2MFieldClass("schema.TagM2MTest", related_name="authors")
|
new_field = M2MFieldClass("schema.TagM2MTest", related_name="authors")
|
||||||
new_field.contribute_to_class(LocalAuthorWithM2M, "tags")
|
new_field.contribute_to_class(LocalAuthorWithM2M, "tags")
|
||||||
|
self.local_models += [new_field.remote_field.through]
|
||||||
# Ensure there's no m2m table there
|
# Ensure there's no m2m table there
|
||||||
self.assertRaises(DatabaseError, self.column_classes, new_field.remote_field.through)
|
self.assertRaises(DatabaseError, self.column_classes, new_field.remote_field.through)
|
||||||
# Add the field
|
# Add the field
|
||||||
|
@ -934,7 +937,10 @@ class SchemaTests(TransactionTestCase):
|
||||||
app_label = 'schema'
|
app_label = 'schema'
|
||||||
apps = new_apps
|
apps = new_apps
|
||||||
|
|
||||||
self.local_models = [LocalBookWithM2M]
|
self.local_models = [
|
||||||
|
LocalBookWithM2M,
|
||||||
|
LocalBookWithM2M._meta.get_field('tags').remote_field.through,
|
||||||
|
]
|
||||||
|
|
||||||
# Create the tables
|
# Create the tables
|
||||||
with connection.schema_editor() as editor:
|
with connection.schema_editor() as editor:
|
||||||
|
@ -955,6 +961,7 @@ class SchemaTests(TransactionTestCase):
|
||||||
old_field = LocalBookWithM2M._meta.get_field("tags")
|
old_field = LocalBookWithM2M._meta.get_field("tags")
|
||||||
new_field = M2MFieldClass(UniqueTest)
|
new_field = M2MFieldClass(UniqueTest)
|
||||||
new_field.contribute_to_class(LocalBookWithM2M, "uniques")
|
new_field.contribute_to_class(LocalBookWithM2M, "uniques")
|
||||||
|
self.local_models += [new_field.remote_field.through]
|
||||||
with connection.schema_editor() as editor:
|
with connection.schema_editor() as editor:
|
||||||
editor.alter_field(LocalBookWithM2M, old_field, new_field)
|
editor.alter_field(LocalBookWithM2M, old_field, new_field)
|
||||||
# Ensure old M2M is gone
|
# Ensure old M2M is gone
|
||||||
|
|
Loading…
Reference in New Issue