Fix queryset batch_size that wasn't copied to cloned queryset

This commit is contained in:
Bastien Gérard 2019-03-04 23:01:12 +01:00
parent 50ffa8014e
commit b640c766db
2 changed files with 11 additions and 1 deletions

View File

@ -757,7 +757,7 @@ class BaseQuerySet(object):
'_read_preference', '_iter', '_scalar', '_as_pymongo', '_read_preference', '_iter', '_scalar', '_as_pymongo',
'_limit', '_skip', '_hint', '_auto_dereference', '_limit', '_skip', '_hint', '_auto_dereference',
'_search_text', 'only_fields', '_max_time_ms', '_search_text', 'only_fields', '_max_time_ms',
'_comment') '_comment', '_batch_size')
for prop in copy_props: for prop in copy_props:
val = getattr(self, prop) val = getattr(self, prop)

View File

@ -394,6 +394,16 @@ class QuerySetTest(unittest.TestCase):
with self.assertRaises(ValueError): with self.assertRaises(ValueError):
list(qs) 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): def test_update_write_concern(self):
"""Test that passing write_concern works""" """Test that passing write_concern works"""
self.Person.drop_collection() self.Person.drop_collection()