summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests
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
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')
-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,
+ )