diff options
| author | Nilesh Kumar Pahari <nileshpahari@protonmail.com> | 2025-12-18 16:21:50 +0530 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2025-12-22 09:41:41 -0500 |
| commit | 6025eab3c509b4de922117e16866bbfe0ee99aa6 (patch) | |
| tree | d5f542be6eb02a9b12ab7fb3db93dcf54aa411de /django/db/models/fields/generated.py | |
| parent | afaa527c437f95ab6f8860840d83480d4d15b099 (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 'django/db/models/fields/generated.py')
| -rw-r--r-- | django/db/models/fields/generated.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/django/db/models/fields/generated.py b/django/db/models/fields/generated.py index f89269b5e6..f90bc560e2 100644 --- a/django/db/models/fields/generated.py +++ b/django/db/models/fields/generated.py @@ -30,6 +30,7 @@ class GeneratedField(Field): self.expression = expression self.output_field = output_field self.db_persist = db_persist + self.has_null_arg = "null" in kwargs super().__init__(**kwargs) @cached_property @@ -82,6 +83,7 @@ class GeneratedField(Field): *super().check(**kwargs), *self._check_supported(databases), *self._check_persistence(databases), + *self._check_ignored_options(databases), ] output_field_clone = self.output_field.clone() output_field_clone.model = self.model @@ -188,6 +190,20 @@ class GeneratedField(Field): ) return errors + def _check_ignored_options(self, databases): + warnings = [] + + if self.has_null_arg: + warnings.append( + checks.Warning( + "null has no effect on GeneratedField.", + obj=self, + id="fields.W225", + ) + ) + + return warnings + def deconstruct(self): name, path, args, kwargs = super().deconstruct() del kwargs["blank"] |
