fix read_preference for PyMongo 3+
This commit is contained in:
parent
a7aead5138
commit
54975de0f3
@ -1444,6 +1444,14 @@ class BaseQuerySet(object):
|
|||||||
def _cursor(self):
|
def _cursor(self):
|
||||||
if self._cursor_obj is None:
|
if self._cursor_obj is None:
|
||||||
|
|
||||||
|
# In PyMongo 3+, we define the read preference on a collection
|
||||||
|
# level, not a cursor level. Thus, we need to get a cloned
|
||||||
|
# collection object using `with_options` first.
|
||||||
|
if IS_PYMONGO_3 and self._read_preference is not None:
|
||||||
|
self._cursor_obj = self._collection\
|
||||||
|
.with_options(read_preference=self._read_preference)\
|
||||||
|
.find(self._query, **self._cursor_args)
|
||||||
|
else:
|
||||||
self._cursor_obj = self._collection.find(self._query,
|
self._cursor_obj = self._collection.find(self._query,
|
||||||
**self._cursor_args)
|
**self._cursor_args)
|
||||||
# Apply where clauses to cursor
|
# Apply where clauses to cursor
|
||||||
|
Loading…
x
Reference in New Issue
Block a user