Я пытаюсь опубликовать данные в mongodb с помощью почтальона, но я не знаю правильного соглашения для загрузки ссылки на файл изображения в ведро fs.files. В принципе, файл уже есть в базе, я просто пытаюсь запостить нового пользователя со ссылкой на изображение.
Вот моя модель:
class Users(db.Document):
_id = db.StringField()
name = db.StringField()
picture = db.FileField()
email = db.StringField()
password = db.StringField()
meta = {'collection': 'Users'}
В почтальоне я пытаюсь опубликовать данные следующим образом:
{
"_id" : "1",
"name" : "John Doe",
"picture": [{"$id": "5e6a...f9q102"}], #This is the reference id for the image already in the database, in fs.files
"password" : "<hashed pw>",
"email" : "[email protected]"
}
Я использую flask restful api, поэтому в скрипте python функция post определяется так:
def post(self):
body = request.get_json()
print (body)
user = Users()
user = Users(**body).save()
return 'Successful Upload', 200
Я получаю сообщение об ошибке, когда пытаюсь использовать вышеуказанное соглашение:
mongoengine.errors.ValidationError: ValidationError (Users:None) ('list' object has no attribute
'grid_id': ['picture'])
Как опубликовать нового пользователя в почтальоне? Ваша помощь приветствуется