Ensure bulk_create returns the right value if the argument is an empty list.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16792 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Alex Gaynor 2011-09-10 21:46:59 +00:00
parent f2bc919ec0
commit b45a4acf6f
2 changed files with 5 additions and 1 deletions

View File

@ -372,7 +372,7 @@ class QuerySet(object):
if self.model._meta.parents: if self.model._meta.parents:
raise ValueError("Can't bulk create an inherited model") raise ValueError("Can't bulk create an inherited model")
if not objs: if not objs:
return return objs
self._for_write = True self._for_write = True
connection = connections[self.db] connection = connections[self.db]
fields = self.model._meta.local_fields fields = self.model._meta.local_fields

View File

@ -23,6 +23,10 @@ class BulkCreateTests(TestCase):
"United States of America", "The Netherlands", "Germany", "Czech Republic" "United States of America", "The Netherlands", "Germany", "Czech Republic"
], attrgetter("name")) ], attrgetter("name"))
created = Country.objects.bulk_create([])
self.assertEqual(created, [])
self.assertEqual(Country.objects.count(), 4)
@skipUnlessDBFeature("has_bulk_insert") @skipUnlessDBFeature("has_bulk_insert")
def test_efficiency(self): def test_efficiency(self):
with self.assertNumQueries(1): with self.assertNumQueries(1):