0

dess フィールドが必須で、category フィールドがオプションであることを確認するにはどうすればよいですか?

class Mydoc(Document):

    structure = {
        "name": unicode,
        "items": [{
             "category": int,
             "desc": unicode
        }]
    }

 required_fields = ["name", "items", "items.desc"] # Error: items has no attribute 
                                                   # desc, it is a list not a dict.

リスト内のカテゴリを検証するにはどうすればよいですか?

アップデート

https://groups.google.com/forum/?fromgroups=#!topic/mongokit/GP5AgaMG6T4

4

1 に答える 1

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
于 2013-03-18T15:45:03.940 に答える