0

我需要一些有关 MongoAlchemy 的帮助。我正在尝试使用 python、flask、Mongo DM 和 Mongo Alchemy(作为对象文档映射器)创建一个 Web 应用程序,并且我正在努力更新现有文档。

我的问题是我无法通过它的对象 ID 更新现有文档。下面我附上我的 def 以进行更新

@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 很陌生,而且代码不是很好。请原谅我在上面给出的草率描述。任何帮助,将不胜感激。

4

1 回答 1

2

要更新现有文档,只需使用表单值更改您从 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')
于 2017-01-17T15:00:54.760 回答