小编ade*_*iis的帖子

保存参考字段 mongoengine

简单地说,我有 2 个 Document 对象:Resource和Cable

class Cable(db.Document):
    _id = db.ObjectIdField()
    socket = db.EmbeddedDocumentField(Socket)

class Resource(db.Document):
    _id = db.StringField()
    cable = db.ReferenceField('Cable')
Run Code Online (Sandbox Code Playgroud)

这两个文档都已在数据库中,但资源中的电缆字段设置为null.

@resources.route('/<r_id>/add_cabling', methods=['GET'])
def set_connector(r_id):
    r = Resource.objects(id=r_id).get()
    c = Cable.objects().first()
    r.cable=c
    r.save()
    return jsonify(r)
Run Code Online (Sandbox Code Playgroud)

所以我将文档的实例传递给thenCable的实例。我得到的错误如下:Resourcesave()

ValidationError: ValidationError (Resource:res01)(ReferenceField 仅接受 DBRef 或文档:['cable'])

我不明白,因为实际上我正在传递文件本身

python mongodb mongoengine flask

2
推荐指数
1
解决办法
5082
查看次数

标签 统计

flask ×1

mongodb ×1

mongoengine ×1

python ×1