我正在尝试使用from_document应用程序接口从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()发布于 2018-04-07 03:39:55
在docs中
Python :描述MongoDB文档的
字典。文档中的键必须根据每个模型字段的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'https://stackoverflow.com/questions/47455463
复制相似问题