EmbeddedDocument中的MongoEngine ListField在验证时抛出TypeError

Kar*_*ten 11 python typeerror mongodb mongoengine

我不确定它是MongoEngine中的一个错误还是我错过了什么.我设置了以下模型:

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

class Article(Document):
    vendor = ReferenceField(Vendor)
    url = URLField()
    author = StringField()
    clean_content = StringField()
    features = EmbeddedDocumentField(Features)
Run Code Online (Sandbox Code Playgroud)

当我测试我的模型时:

#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()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: unbound method _validate() must be called with StringField instance as first argument (got str instance instead)
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下吗?

编辑:

没关系.我发现了我的错误.

它一定要是:

class Features(EmbeddedDocument):
    version = FloatField()
    data = ListField(StringField())
Run Code Online (Sandbox Code Playgroud)

Kar*_*ten 14

我发现了错误.

它一定要是:

class Features(EmbeddedDocument):
    version = FloatField()
    data = ListField(StringField())
Run Code Online (Sandbox Code Playgroud)