【发布时间】:2016-10-31 05:58:21
【问题描述】:
简化,我有 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')
这两个文档都已经在数据库中了,但是资源中的cable字段设置为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)
所以我将文档Cable 的实例传递给Resource 的实例,然后是save()。
我得到的错误如下:
ValidationError: ValidationError (Resource:res01)(A ReferenceField 只接受 DBRef 或文档:['cable'])
我不明白,因为实际上我是在传递文档本身
【问题讨论】:
标签: python mongodb flask mongoengine