Fixed bug with numeric valuedict keys and BaseDocument._lookup_field().

This commit is contained in:
Loic Raucy 2013-10-17 16:32:47 +02:00
parent 1978dc80eb
commit 9ed138f896

View File

@ -755,6 +755,9 @@ class BaseDocument(object):
"""Lookup a field based on its attribute and return a list containing
the field's parents and the field.
"""
from mongoengine.fields import ListField
if not isinstance(parts, (list, tuple)):
parts = [parts]
fields = []
@ -762,7 +765,7 @@ class BaseDocument(object):
for field_name in parts:
# Handle ListField indexing:
if field_name.isdigit() and hasattr(field, 'field'):
if field_name.isdigit() and isinstance(field, ListField):
new_field = field.field
fields.append(field_name)
continue