Ответ Ашоки Леллы совершенен. Один бит дополнений к этому - иметь этот оператор в классе вашей фляжной модели.
__collection__="default" #Any default collection, which may or may not be used by the application
Просто потому, что ваша коллекция находится в переменной, не означает, что вы можете пропустить определение атрибута коллекции. Я вставляю свой код ниже, где я использовал этот путь.
class Collection(Document):
__collection__ = "collection_1"
structure = {
"name": str,
"email": str,
"status": bool,
"extra": dict
}
required_fields = ["name", "email"]
default_values = {"status": "inactive", "extra": {}}
def insertDocument(self, data):
print "model : " + data["collection"]
db[data["collection"]].insert(data["data"])
return "from model"
Не забудьте зарегистрировать свое имя класса в переменной db - db.register ([Collection])