From 2da007737cda936ef2ee87271bf9e69eb93cd3fe Mon Sep 17 00:00:00 2001 From: Mark Gensler Date: Tue, 25 Jun 2024 15:04:48 +0100 Subject: [5.1.x] Fixed #35560 -- Made Model.full_clean() ignore GeneratedFields for constraints. Accessing generated field values on unsaved models caused a crash when validating CheckConstraints and UniqueConstraints with expressions. Backport of 1005c2abd1ef0c156f449641e38c33e473989d37 from main. --- django/db/models/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'django') diff --git a/django/db/models/base.py b/django/db/models/base.py index 97fcdb81a4..b118b675cc 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -1340,7 +1340,7 @@ class Model(AltersData, metaclass=ModelBase): field_map = { field.name: Value(getattr(self, field.attname), field) for field in meta.local_concrete_fields - if field.name not in exclude + if field.name not in exclude and not field.generated } if "pk" not in exclude: field_map["pk"] = Value(self.pk, meta.pk) -- cgit v1.3