Обновить существующий документ: Монго Алхимия
Мне нужна помощь с MongoAlchemy. Я пытаюсь создать веб-приложение с python, flask, Mongo DM и Mongo Alchemy (как средство отображения документов объекта), и я пытаюсь обновить существующие документы.
Моя проблема в том, что я не могу обновить существующий документ через его идентификатор объекта. Ниже я прилагаю свою дефи для обновления
@app.route('/update', methods =[ 'GET', 'POST' ])
def update():
if request.method == 'POST':
id = request.form['object_id'] # Getting values with html
patientzero = BloodDoonor.query.get_or_404(id)
first_name = request.form['name']# Getting values with htmlform
last_name = request.form['surname']# Getting values with html form
blood_type = request.form['blood_type']# Getting values with html
update_record = BloodDoonor.patientzero.update(BloodDoonor.last_name = last_name)
return render_template('update.html', result = result)
И колба дает мне эту ошибку:
AttributeError AttributeError: тип объекта "BloodDoonor" не имеет атрибута Patientzero
Я очень плохо знаком с Python и не очень хорош в коде. Пожалуйста, прости меня за небрежное описание, которое я дал выше. Любая помощь будет оценена.
1 ответ
Чтобы обновить существующий документ, просто измените значение объекта, к которому вы обратились из db, со значениями формы, а затем просто сохраните этот объект:
@app.route('/update', methods =[ 'GET', 'POST' ])
def update():
if request.method == 'POST':
id = request.form['object_id']
patientzero = BloodDoonor.query.get_or_404(id)
patientzero.first_name = request.form['name']
patientzero.last_name = request.form['surname']
patientzero.blood_type = request.form['blood_type']
patientzero.save()
return render_template('update.html')