Allow index specs to be composed from raw strings
This allows an index spec to reference arbitrary keys of a DictField:
class MyDoc(Document):
frobs = DictField()
meta = {
"indexes": ["frobs.fmep", "frobs.gorp"],
}
This commit is contained in:
@@ -666,8 +666,14 @@ class BaseDocument(object):
|
|||||||
fields = []
|
fields = []
|
||||||
else:
|
else:
|
||||||
fields = cls._lookup_field(parts)
|
fields = cls._lookup_field(parts)
|
||||||
parts = [field if field == '_id' else field.db_field
|
parts = []
|
||||||
for field in fields]
|
for field in fields:
|
||||||
|
try:
|
||||||
|
if field != "_id":
|
||||||
|
field = field.db_field
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
parts.append(field)
|
||||||
key = '.'.join(parts)
|
key = '.'.join(parts)
|
||||||
index_list.append((key, direction))
|
index_list.append((key, direction))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user