From b640c766dbb84c7a77efae8645f2d9f480ca96d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20G=C3=A9rard?= Date: Mon, 4 Mar 2019 23:01:12 +0100 Subject: [PATCH 1/2] Fix queryset batch_size that wasn't copied to cloned queryset --- mongoengine/queryset/base.py | 2 +- tests/queryset/queryset.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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() From 9bd0d6b99d960d3a1b14c627c4148d6bea510df3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20G=C3=A9rard?= Date: Mon, 4 Mar 2019 23:05:22 +0100 Subject: [PATCH 2/2] update changelog --- docs/changelog.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index c87fd1e9..da1026d4 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -6,6 +6,7 @@ Development =========== - (Fill this out as you fix issues and develop your features). - 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