'Change the read_preference when querying.
:param read_preference: override ReplicaSetConnection-level
preference.'

def read_preference(self, read_preference):

    validate_read_preference('read_preference', read_preference)
    queryset = self.clone()
    queryset._read_preference = read_preference
    queryset._cursor_obj = None
    return queryset
