2013-03-16 48 views

回答

2

这里棘手的一点是,我们不知道有多少项目有。 Mongokit不允许您根据需要指定嵌套对象,因为如果您有很多项目,它可能会很慢。

因此,简而言之,mongokit不允许嵌套对象中的required_fields和default_values。

然而,Mongokit是非常轻,并且可以非常容易,如果需要进行定制:

class MyDoc(Document): 
    structure = { 
     "name": unicode, 
     "items": [{ 
      "category": int, 
      "desc": unicode 
     }] 
    } 

    def validate(self, *args, **kwargs): 
     super(MyDoc, self).validate(*args, **kwars) 
     for item in self["items"]: 
      assert item["desc"], "desc is required: %s" % item