diff --git a/docs/changelog.rst b/docs/changelog.rst index 97da8d10..9a606812 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -9,6 +9,7 @@ Development Changes in 0.17.0 ================= - Fix .only() working improperly after using .count() of the same instance of QuerySet +- Fix batch_size that was not copied when cloning a queryset object #2011 - POTENTIAL BREAKING CHANGE: All result fields are now passed, including internal fields (_cls, _id) when using `QuerySet.as_pymongo` #1976 - Document a BREAKING CHANGE introduced in 0.15.3 and not reported at that time (#1995) - Fix InvalidStringData error when using modify on a BinaryField #1127 diff --git a/mongoengine/queryset/base.py b/mongoengine/queryset/base.py index 9ddfeab2..24e12623 100644 --- a/mongoengine/queryset/base.py +++ b/mongoengine/queryset/base.py @@ -757,7 +757,7 @@ class BaseQuerySet(object): '_read_preference', '_iter', '_scalar', '_as_pymongo', '_limit', '_skip', '_hint', '_auto_dereference', '_search_text', 'only_fields', '_max_time_ms', - '_comment') + '_comment', '_batch_size') for prop in copy_props: val = getattr(self, prop) diff --git a/tests/queryset/queryset.py b/tests/queryset/queryset.py index 0d8d6285..662ffe61 100644 --- a/tests/queryset/queryset.py +++ b/tests/queryset/queryset.py @@ -394,6 +394,16 @@ class QuerySetTest(unittest.TestCase): with self.assertRaises(ValueError): list(qs) + def test_batch_size_cloned(self): + class A(Document): + s = StringField() + + # test that batch size gets cloned + qs = A.objects.batch_size(5) + self.assertEqual(qs._batch_size, 5) + qs_clone = qs.clone() + self.assertEqual(qs_clone._batch_size, 5) + def test_update_write_concern(self): """Test that passing write_concern works""" self.Person.drop_collection()