summaryrefslogtreecommitdiff
path: root/tests/bulk_create/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bulk_create/tests.py')
-rw-r--r--tests/bulk_create/tests.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/bulk_create/tests.py b/tests/bulk_create/tests.py
index f59f335ce0..a7eb725f55 100644
--- a/tests/bulk_create/tests.py
+++ b/tests/bulk_create/tests.py
@@ -198,3 +198,22 @@ class BulkCreateTests(TestCase):
])
bbb = Restaurant.objects.filter(name="betty's beetroot bar")
self.assertEqual(bbb.count(), 1)
+
+ @skipUnlessDBFeature('can_return_ids_from_bulk_insert')
+ def test_set_pk_and_insert_single_item(self):
+ countries = []
+ with self.assertNumQueries(1):
+ countries = Country.objects.bulk_create([self.data[0]])
+ self.assertEqual(len(countries), 1)
+ self.assertEqual(Country.objects.get(pk=countries[0].pk), countries[0])
+
+ @skipUnlessDBFeature('can_return_ids_from_bulk_insert')
+ def test_set_pk_and_query_efficiency(self):
+ countries = []
+ with self.assertNumQueries(1):
+ countries = Country.objects.bulk_create(self.data)
+ self.assertEqual(len(countries), 4)
+ self.assertEqual(Country.objects.get(pk=countries[0].pk), countries[0])
+ self.assertEqual(Country.objects.get(pk=countries[1].pk), countries[1])
+ self.assertEqual(Country.objects.get(pk=countries[2].pk), countries[2])
+ self.assertEqual(Country.objects.get(pk=countries[3].pk), countries[3])