summaryrefslogtreecommitdiff
path: root/tests/bulk_create
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2025-03-16 20:50:45 +0300
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-03-26 09:55:09 +0100
commit77b4ecbd53635b94d3685d16af9e8b2f96cf952c (patch)
tree9d7ea315f3d6c951d6be32e8bb36b3ffcc2fcc1b /tests/bulk_create
parentc75fbe843079ca249d7015926490dd21107e63a4 (diff)
Fixed #36260 -- Made bulk_create() work with DB-generated primary keys.
Co-authored-by: Simon Charette <charette.s@gmail.com>
Diffstat (limited to 'tests/bulk_create')
-rw-r--r--tests/bulk_create/models.py4
-rw-r--r--tests/bulk_create/tests.py7
2 files changed, 11 insertions, 0 deletions
diff --git a/tests/bulk_create/models.py b/tests/bulk_create/models.py
index f0df9da66e..4b74b7ef56 100644
--- a/tests/bulk_create/models.py
+++ b/tests/bulk_create/models.py
@@ -147,3 +147,7 @@ class RelatedModel(models.Model):
class DbDefaultModel(models.Model):
name = models.CharField(max_length=10)
created_at = models.DateTimeField(db_default=Now())
+
+
+class DbDefaultPrimaryKey(models.Model):
+ id = models.DateTimeField(primary_key=True, db_default=Now())
diff --git a/tests/bulk_create/tests.py b/tests/bulk_create/tests.py
index 83ff8e4514..9bcf92e4cf 100644
--- a/tests/bulk_create/tests.py
+++ b/tests/bulk_create/tests.py
@@ -1,3 +1,4 @@
+from datetime import datetime
from math import ceil
from operator import attrgetter
@@ -23,6 +24,7 @@ from .models import (
BigAutoFieldModel,
Country,
DbDefaultModel,
+ DbDefaultPrimaryKey,
FieldsWithDbColumns,
NoFields,
NullableFields,
@@ -866,3 +868,8 @@ class BulkCreateTests(TestCase):
ctx[0]["sql"].count(created_at_quoted_name),
2 if connection.features.can_return_rows_from_bulk_insert else 1,
)
+
+ @skipUnlessDBFeature("can_return_rows_from_bulk_insert")
+ def test_db_default_primary_key(self):
+ (obj,) = DbDefaultPrimaryKey.objects.bulk_create([DbDefaultPrimaryKey()])
+ self.assertIsInstance(obj.id, datetime)