diff --git a/django/db/migrations/state.py b/django/db/migrations/state.py index 90e0b51b1ea..32a0b69a44b 100644 --- a/django/db/migrations/state.py +++ b/django/db/migrations/state.py @@ -89,9 +89,9 @@ class ProjectState(object): # "ValueError: Lookup failed for model referenced by # field migrations.Book.author: migrations.Author" raise ValueError("Lookup failed for model referenced by field {field}: {model[0]}.{model[1]}{extra_message}".format( - field = operations[0][1], - model = lookup_model, - extra_message = extra_message, + field=operations[0][1], + model=lookup_model, + extra_message=extra_message, )) else: do_pending_lookups(model) diff --git a/tests/field_deconstruction/tests.py b/tests/field_deconstruction/tests.py index 0cf015ef06d..0e75388747a 100644 --- a/tests/field_deconstruction/tests.py +++ b/tests/field_deconstruction/tests.py @@ -3,7 +3,6 @@ import warnings from django.db import models from django.test import TestCase, override_settings from django.utils import six -from django.core.files.storage import FileSystemStorage class FieldDeconstructionTests(TestCase): diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py index 32319f373c9..388544cb045 100644 --- a/tests/migrations/test_operations.py +++ b/tests/migrations/test_operations.py @@ -757,10 +757,12 @@ class OperationTests(MigrationTestBase): Tests the RunPython operation correctly handles the "atomic" keyword """ project_state = self.set_up_test_model("test_runpythonatomic", mti_model=True) + def inner_method(models, schema_editor): Pony = models.get_model("test_runpythonatomic", "Pony") Pony.objects.create(pink=1, weight=3.55) raise ValueError("Adrian hates ponies.") + atomic_migration = Migration("test", "test_runpythonatomic") atomic_migration.operations = [migrations.RunPython(inner_method)] non_atomic_migration = Migration("test", "test_runpythonatomic") @@ -789,7 +791,6 @@ class OperationTests(MigrationTestBase): self.assertEqual(project_state.render().get_model("test_runpythonatomic", "Pony").objects.count(), 1) - class MigrateNothingRouter(object): """ A router that sends all writes to the other database. diff --git a/tests/schema/tests.py b/tests/schema/tests.py index 371eaadecbd..b0dd9ada90d 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -236,14 +236,18 @@ class SchemaTests(TransactionTestCase): Tests adding fields to models with a default that is not directly valid in the database (#22581) """ + class TestTransformField(IntegerField): + # Weird field that saves the count of items in its value def get_default(self): return self.default + def get_prep_value(self, value): if value is None: return 0 return len(value) + # Create the table with connection.schema_editor() as editor: editor.create_model(Author) @@ -251,7 +255,7 @@ class SchemaTests(TransactionTestCase): Author.objects.create(name="Andrew", height=30) Author.objects.create(name="Andrea") # Add the field with a default it needs to cast (to string in this case) - new_field = TestTransformField(default={1:2}) + new_field = TestTransformField(default={1: 2}) new_field.set_attributes_from_name("thing") with connection.schema_editor() as editor: editor.add_field(