diff --git a/mongoalchemy/query_expression.py b/mongoalchemy/query_expression.py index e1e2537..7cad389 100644 --- a/mongoalchemy/query_expression.py +++ b/mongoalchemy/query_expression.py @@ -108,7 +108,7 @@ def in_(self, *values): in ``values``. Produces a MongoDB ``$in`` expression. ''' return QueryExpression({ - str(self) : { '$in' : [self.get_type().wrap_value(value) for value in values] } + self : { '$in' : [self.get_type().wrap_value(value) for value in values] } }) def nin(self, *values): @@ -116,7 +116,7 @@ def nin(self, *values): in ``values``. Produces a MongoDB ``$nin`` expression. ''' return QueryExpression({ - str(self) : { '$nin' : [self.get_type().wrap_value(value) for value in values] } + self : { '$nin' : [self.get_type().wrap_value(value) for value in values] } }) def __str__(self): diff --git a/test/test_query.py b/test/test_query.py index 04f91fb..a5b7147 100644 --- a/test/test_query.py +++ b/test/test_query.py @@ -298,4 +298,13 @@ def qr_test_clone(): it2.next() except StopIteration: pass - \ No newline at end of file + +def test_resolve_fields(): + class Resolver(Document): + i = IntField(db_field='j') + k = IntField() + s = get_session() + s.clear_collection(Resolver) + + q = s.query(Resolver).filter(Resolver.i.in_(6)) +