diff options
Diffstat (limited to 'tests/bulk_create/tests.py')
-rw-r--r-- | tests/bulk_create/tests.py | 19 |
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]) |