diff --git a/mongoengine/fields.py b/mongoengine/fields.py index f65ca15d..9fc50d68 100644 --- a/mongoengine/fields.py +++ b/mongoengine/fields.py @@ -509,7 +509,7 @@ class GenericReferenceField(BaseField): return {'_cls': document.__class__.__name__, '_ref': ref} def prepare_query_value(self, op, value): - return self.to_mongo(value)['_ref'] + return self.to_mongo(value) class BinaryField(BaseField): diff --git a/mongoengine/queryset.py b/mongoengine/queryset.py index a3d4c544..06524dcd 100644 --- a/mongoengine/queryset.py +++ b/mongoengine/queryset.py @@ -624,9 +624,6 @@ class QuerySet(object): # 'in', 'nin' and 'all' require a list of values value = [field.prepare_query_value(op, v) for v in value] - if field.__class__.__name__ == 'GenericReferenceField': - parts.append('_ref') - # if op and op not in match_operators: if op: if op in geo_operators: diff --git a/tests/fields.py b/tests/fields.py index 1df484bf..e30f843e 100644 --- a/tests/fields.py +++ b/tests/fields.py @@ -545,7 +545,6 @@ class FieldTest(unittest.TestCase): user.save() user = User.objects(bookmarks__all=[post_1, link_1]).first() - print User.objects(bookmarks__all=[post_1, link_1]).explain() self.assertEqual(user.bookmarks[0], post_1) self.assertEqual(user.bookmarks[1], link_1)