Merge branch 'master' of http://github.com/ixc/mongoengine into v0.4
Conflicts: mongoengine/fields.py mongoengine/queryset.py
This commit is contained in:
commit
d3c2dfbaee
@ -331,12 +331,12 @@ class ListField(BaseField):
|
|||||||
try:
|
try:
|
||||||
[self.field.validate(item) for item in value]
|
[self.field.validate(item) for item in value]
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
raise ValidationError('Invalid ListField item (%s)' % str(err))
|
raise ValidationError('Invalid ListField item (%s)' % str(item))
|
||||||
|
|
||||||
def prepare_query_value(self, op, value):
|
def prepare_query_value(self, op, value):
|
||||||
if op in ('set', 'unset'):
|
if op in ('set', 'unset'):
|
||||||
return [self.field.to_mongo(v) for v in value]
|
return [self.field.prepare_query_value(op, v) for v in value]
|
||||||
return self.field.to_mongo(value)
|
return self.field.prepare_query_value(op, value)
|
||||||
|
|
||||||
def lookup_member(self, member_name):
|
def lookup_member(self, member_name):
|
||||||
return self.field.lookup_member(member_name)
|
return self.field.lookup_member(member_name)
|
||||||
|
@ -592,6 +592,10 @@ class QuerySet(object):
|
|||||||
|
|
||||||
mongo_query = {}
|
mongo_query = {}
|
||||||
for key, value in query.items():
|
for key, value in query.items():
|
||||||
|
if key == "__raw__":
|
||||||
|
mongo_query.update(value)
|
||||||
|
continue
|
||||||
|
|
||||||
parts = key.split('__')
|
parts = key.split('__')
|
||||||
indices = [(i, p) for i, p in enumerate(parts) if p.isdigit()]
|
indices = [(i, p) for i, p in enumerate(parts) if p.isdigit()]
|
||||||
parts = [part for part in parts if not part.isdigit()]
|
parts = [part for part in parts if not part.isdigit()]
|
||||||
|
@ -545,6 +545,7 @@ class FieldTest(unittest.TestCase):
|
|||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
user = User.objects(bookmarks__all=[post_1, link_1]).first()
|
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[0], post_1)
|
||||||
self.assertEqual(user.bookmarks[1], link_1)
|
self.assertEqual(user.bookmarks[1], link_1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user