summaryrefslogtreecommitdiff
path: root/django/db/models/base.py
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2026-06-05 12:10:10 +0200
committerGitHub <noreply@github.com>2026-06-05 12:10:10 +0200
commita2348c85fc6c20087935c74cd99340dd4ef2dcdc (patch)
treecac239b31e1866a2d0c4df5285857ada28a1f4e5 /django/db/models/base.py
parent8c2d3dca633629effad17ccc98730234f740d03f (diff)
Fixed #37139 -- Fixed inlines crash on parent models with db_default on primary key.
Diffstat (limited to 'django/db/models/base.py')
-rw-r--r--django/db/models/base.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py
index d53da600d7..7ac02f8a50 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -709,9 +709,17 @@ class Model(AltersData, metaclass=ModelBase):
def _is_pk_set(self, meta=None):
pk_val = self._get_pk_val(meta)
+
+ def _is_set(value):
+ return (
+ value is None
+ # Empty value when db_default is used.
+ or isinstance(value, DatabaseDefault)
+ )
+
return not (
- pk_val is None
- or (isinstance(pk_val, tuple) and any(f is None for f in pk_val))
+ _is_set(pk_val)
+ or (isinstance(pk_val, tuple) and any(_is_set(f) for f in pk_val))
)
def get_deferred_fields(self):