From b3bd3aa07c026239dd39d1a37498dfd0a2f09caf Mon Sep 17 00:00:00 2001 From: David Barragán Merino Date: Tue, 25 Oct 2016 16:51:45 +0200 Subject: Fixed #27385 -- Fixed QuerySet.bulk_create() on PostgreSQL when the number of objects is a multiple plus one of batch_size. --- tests/bulk_create/tests.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'tests/bulk_create') diff --git a/tests/bulk_create/tests.py b/tests/bulk_create/tests.py index e6d85cb815..3378f0010a 100644 --- a/tests/bulk_create/tests.py +++ b/tests/bulk_create/tests.py @@ -171,11 +171,18 @@ class BulkCreateTests(TestCase): def test_explicit_batch_size(self): objs = [TwoFields(f1=i, f2=i) for i in range(0, 4)] - TwoFields.objects.bulk_create(objs, 2) - self.assertEqual(TwoFields.objects.count(), len(objs)) + num_objs = len(objs) + TwoFields.objects.bulk_create(objs, batch_size=1) + self.assertEqual(TwoFields.objects.count(), num_objs) TwoFields.objects.all().delete() - TwoFields.objects.bulk_create(objs, len(objs)) - self.assertEqual(TwoFields.objects.count(), len(objs)) + TwoFields.objects.bulk_create(objs, batch_size=2) + self.assertEqual(TwoFields.objects.count(), num_objs) + TwoFields.objects.all().delete() + TwoFields.objects.bulk_create(objs, batch_size=3) + self.assertEqual(TwoFields.objects.count(), num_objs) + TwoFields.objects.all().delete() + TwoFields.objects.bulk_create(objs, batch_size=num_objs) + self.assertEqual(TwoFields.objects.count(), num_objs) def test_empty_model(self): NoFields.objects.bulk_create([NoFields() for i in range(2)]) -- cgit v1.3