summaryrefslogtreecommitdiff
path: root/tests/schema
diff options
context:
space:
mode:
Diffstat (limited to 'tests/schema')
-rw-r--r--tests/schema/tests.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index 2f4a84db09..7027d716b0 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -426,6 +426,22 @@ class SchemaTests(TransactionTestCase):
with connection.schema_editor() as editor:
editor.alter_field(Note, old_field, new_field, strict=True)
+ def test_alter_field_keep_null_status(self):
+ """
+ Changing a field type shouldn't affect the not null status.
+ """
+ with connection.schema_editor() as editor:
+ editor.create_model(Note)
+ with self.assertRaises(IntegrityError):
+ Note.objects.create(info=None)
+ old_field = Note._meta.get_field("info")
+ new_field = CharField(max_length=50)
+ new_field.set_attributes_from_name("info")
+ with connection.schema_editor() as editor:
+ editor.alter_field(Note, old_field, new_field, strict=True)
+ with self.assertRaises(IntegrityError):
+ Note.objects.create(info=None)
+
def test_alter_null_to_not_null(self):
"""
#23609 - Tests handling of default values when altering from NULL to NOT NULL.