summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests/test_ordinary_fields.py
diff options
context:
space:
mode:
authorNilesh Kumar Pahari <nileshpahari@protonmail.com>2025-12-18 16:21:50 +0530
committerJacob Walls <jacobtylerwalls@gmail.com>2025-12-22 09:41:41 -0500
commit6025eab3c509b4de922117e16866bbfe0ee99aa6 (patch)
treed5f542be6eb02a9b12ab7fb3db93dcf54aa411de /tests/invalid_models_tests/test_ordinary_fields.py
parentafaa527c437f95ab6f8860840d83480d4d15b099 (diff)
Fixed #36806 -- Added system check for null kwarg in GeneratedField.
The null argument has no effect on GeneratedField since the nullability of the column depends on the database and expression used.
Diffstat (limited to 'tests/invalid_models_tests/test_ordinary_fields.py')
-rw-r--r--tests/invalid_models_tests/test_ordinary_fields.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/invalid_models_tests/test_ordinary_fields.py b/tests/invalid_models_tests/test_ordinary_fields.py
index 04c18d7ddd..e2ce74c673 100644
--- a/tests/invalid_models_tests/test_ordinary_fields.py
+++ b/tests/invalid_models_tests/test_ordinary_fields.py
@@ -1510,3 +1510,26 @@ class GeneratedFieldTests(TestCase):
Model._meta.get_field("field").check(databases={"default"}),
expected_warnings,
)
+
+ @skipUnlessDBFeature("supports_stored_generated_columns")
+ def test_with_null_argument(self):
+ class Model(models.Model):
+ value = models.IntegerField()
+ field = models.GeneratedField(
+ expression=models.F("value") * 2,
+ output_field=models.IntegerField(),
+ db_persist=True,
+ null=True,
+ )
+
+ expected_warnings = [
+ DjangoWarning(
+ "null has no effect on GeneratedField.",
+ obj=Model._meta.get_field("field"),
+ id="fields.W225",
+ ),
+ ]
+ self.assertEqual(
+ Model._meta.get_field("field").check(databases={"default"}),
+ expected_warnings,
+ )