0

我正在尝试使用 from_document api 从 python 字典中构建一个 pymodm 文档。我收到错误“ValueError:无法识别的字段名称'prim_key'”

这是我编写的示例代码,以用最少的代码实现这一点。

from pymodm import connect, EmbeddedMongoModel, MongoModel, fields
from pymodm.errors import ValidationError, ConfigurationError
from pymongo.write_concern import WriteConcern
import pprint
from datetime import datetime

class sample_doc(MongoModel):
    prim_key = fields.CharField(primary_key=True)
    another_field = fields.CharField()

    class Meta:
        write_concern = WriteConcern(j=True)
        connection_alias = 'pymodm-tester'

connect("mongodb://localhost:27017/pymodm-tester", alias="pymodm-tester")

q = {'prim_key' : 'prim_val', "another_field" : "another_filed1" }
sample_doc.from_document(q).save()
4

1 回答 1

0

文档中:

文档:描述 MongoDB 文档的 Python 字典。文档中的键必须根据每个模型字段的 mongo_name 属性命名,而不是字段的 Python 名称。

看起来,为了在您尝试时实例化模型,需要指定mongo_name字段。它会为您工作,例如:

class sample_doc(MongoModel):
    prim_key = fields.CharField(primary_key=True, mongo_name="prim_key")
    another_field = fields.CharField(mongo_name="another_field")

    class Meta:
        write_concern = WriteConcern(j=True)
        connection_alias = 'pymodm-tester'
于 2018-04-06T19:39:55.277 回答