упрощено, у меня есть 2 объекта документа: Resource
и Cable
Сохранить ссылку на поле mongoengine
class Cable(db.Document):
_id = db.ObjectIdField()
socket = db.EmbeddedDocumentField(Socket)
class Resource(db.Document):
_id = db.StringField()
cable = db.ReferenceField('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 only accepts DBRef or documents: ['cable'])
Я не понимаю, потому что на самом деле я прохожу самого