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:
|
||||
[self.field.validate(item) for item in value]
|
||||
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):
|
||||
if op in ('set', 'unset'):
|
||||
return [self.field.to_mongo(v) for v in value]
|
||||
return self.field.to_mongo(value)
|
||||
return [self.field.prepare_query_value(op, v) for v in value]
|
||||
return self.field.prepare_query_value(op, value)
|
||||
|
||||
def lookup_member(self, member_name):
|
||||
return self.field.lookup_member(member_name)
|
||||
|
@ -592,6 +592,10 @@ class QuerySet(object):
|
||||
|
||||
mongo_query = {}
|
||||
for key, value in query.items():
|
||||
if key == "__raw__":
|
||||
mongo_query.update(value)
|
||||
continue
|
||||
|
||||
parts = key.split('__')
|
||||
indices = [(i, p) for i, p in enumerate(parts) if p.isdigit()]
|
||||
parts = [part for part in parts if not part.isdigit()]
|
||||
|
@ -545,6 +545,7 @@ 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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user