2012-09-12 12 views
10

MongoEngine内のバグか、何か不足しているかどうかはわかりません。 私が設定し、次のモデルがあります:MongoEngine ListFieldはEmbeddedDocument内で検証時にTypeErrorをスローします

class Features(EmbeddedDocument): 
    version = FloatField() 
    data = ListField(StringField) 

class Article(Document): 
    vendor = ReferenceField(Vendor) 
    url = URLField() 
    author = StringField() 
    clean_content = StringField() 
    features = EmbeddedDocumentField(Features) 

私はこのように私のモデルをテストするときに:

#add vendor 
vendor = Vendor(name="techcrunch", config="vendor config") 
vendor.save() 

#create features 
features = Features(version = 1.0) 
features.data = ["5", "89"] 

#add article 
article = Article(vendor = vendor, url ="http://www.techcrunch.com", 
        author ="MG Siegler", clean_content = "Apple rocks!") 
article.features = features 
article.save() 

私は次のエラーを取得する:

TypeError: unbound method _validate() must be called with StringField instance as first argument (got str instance instead) 

誰かがそれを説明できますか?

編集:

Nevermind。私は私の誤りを見つけました。

それはすることがあります。

class Features(EmbeddedDocument): 
    version = FloatField() 
    data = ListField(StringField()) 
+1

あなたは、あなたの答えを投稿し、回答として、質問をマークする必要があります! – Ross

+1

私は忘れました。ありがとう。 – Karsten

答えて

13

私はエラーを検出しました。

それはすることがあります。

class Features(EmbeddedDocument): 
    version = FloatField() 
    data = ListField(StringField()) 
関連する問題