Refactored the implementation of DynamicField extension for storing data in order
This commit is contained in:
parent
ffbb2c9689
commit
d8b238d5f1
@ -202,7 +202,7 @@ class DeReference(object):
|
|||||||
as_tuple = isinstance(items, tuple)
|
as_tuple = isinstance(items, tuple)
|
||||||
iterator = enumerate(items)
|
iterator = enumerate(items)
|
||||||
data = []
|
data = []
|
||||||
elif type(items) == OrderedDict:
|
elif isinstance(items, OrderedDict):
|
||||||
is_list = False
|
is_list = False
|
||||||
iterator = items.iteritems()
|
iterator = items.iteritems()
|
||||||
data = OrderedDict()
|
data = OrderedDict()
|
||||||
|
@ -5,6 +5,7 @@ import re
|
|||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
import warnings
|
import warnings
|
||||||
|
from collections import Mapping
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
|
||||||
from bson import Binary, DBRef, ObjectId, SON
|
from bson import Binary, DBRef, ObjectId, SON
|
||||||
@ -621,7 +622,7 @@ class DynamicField(BaseField):
|
|||||||
|
|
||||||
def __init__(self, container_class=dict, *args, **kwargs):
|
def __init__(self, container_class=dict, *args, **kwargs):
|
||||||
self._container_cls = container_class
|
self._container_cls = container_class
|
||||||
if not issubclass(self._container_cls, dict):
|
if not issubclass(self._container_cls, Mapping):
|
||||||
self.error('The class that is specified in `container_class` parameter '
|
self.error('The class that is specified in `container_class` parameter '
|
||||||
'must be a subclass of `dict`.')
|
'must be a subclass of `dict`.')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user