简单地说,我有 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'])
我不明白,因为实际上我正在传递文件本身