Started work on performance
Added an initial benchmark.py Much more performant than 0.5.2 but still work todo.
This commit is contained in:
parent
7614b92197
commit
6d9bfff19c
5 changed files with 274 additions and 81 deletions
|
|
@ -1,7 +1,6 @@
|
|||
import pymongo
|
||||
|
||||
from base import (BaseDict, BaseList, DataObserver,
|
||||
TopLevelDocumentMetaclass, get_document)
|
||||
from base import (BaseDict, BaseList, TopLevelDocumentMetaclass, get_document)
|
||||
from fields import ReferenceField
|
||||
from connection import get_db
|
||||
from queryset import QuerySet
|
||||
|
|
@ -134,11 +133,10 @@ class DeReference(object):
|
|||
return items
|
||||
|
||||
if instance:
|
||||
observer = DataObserver(instance, name)
|
||||
if isinstance(items, dict):
|
||||
return BaseDict(items, observer)
|
||||
return BaseDict(items, instance, name)
|
||||
else:
|
||||
return BaseList(items, observer)
|
||||
return BaseList(items, instance, name)
|
||||
|
||||
if isinstance(items, (dict, pymongo.son.SON)):
|
||||
if '_ref' in items:
|
||||
|
|
@ -183,10 +181,9 @@ class DeReference(object):
|
|||
data[k] = self.object_map.get(v.id, v)
|
||||
|
||||
if instance and name:
|
||||
observer = DataObserver(instance, name)
|
||||
if is_list:
|
||||
return BaseList(data, observer)
|
||||
return BaseDict(data, observer)
|
||||
return BaseList(data, instance, name)
|
||||
return BaseDict(data, instance, name)
|
||||
depth += 1
|
||||
return data
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue