From 9ed138f896baf7ecef2f941da92de3ab6e831c91 Mon Sep 17 00:00:00 2001 From: Loic Raucy Date: Thu, 17 Oct 2013 16:32:47 +0200 Subject: [PATCH] Fixed bug with numeric valuedict keys and BaseDocument._lookup_field(). --- mongoengine/base/document.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mongoengine/base/document.py b/mongoengine/base/document.py index cea2f09b..86838226 100644 --- a/mongoengine/base/document.py +++ b/mongoengine/base/document.py @@ -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