Flask / Peewee删除一行

时间:2017-02-05 23:04:46

标签: python flask flask-wtforms peewee flask-peewee

我正在使用Peewee和Flask。我有一个部件表,我希望能够从表单添加,删除和更新。我有添加部分工作,我正在处理删除功能。此函数将从db中删除一行,该行等于表单上给出的部件名称。这是我的代码:

的Python /瓶 app.py

@app.route('/admin', methods=['GET', 'POST'])
@login_required
def admin():
    form = forms.PartsUpdateForm()
    if request.method == 'POST':
        choice = request.form.get('admin_choice')
    if form.validate_on_submit():
        if choice == 'add_part':
            models.Parts.create(part_name=form.part_name.data, part_desc=form.part_desc.data,
                                part_img=form.part_img.data)
            flash("Part Created! Thanks!", "success")
            return redirect(url_for('index'))
        elif choice == 'update_part':
            flash('UPDATE : WIP')
            return redirect(url_for('index'))
        else:
            to_del = form.part_name.data
            to_del.delete()
            flash("Part deleted!", "success")
            return redirect(url_for('index'))

else语句激活删除部分,但我似乎无法让它实际删除。我读了peewee文档,我想我不理解这些说明。

1 个答案:

答案 0 :(得分:0)

对不起伙计们,我想通了。我需要实际引用db并使用delete_instance。

<强>的Python app.py

    else:
        to_del = Parts.get(Parts.part_name == form.part_name.data)
        to_del.delete_instance()
        flash("Part deleted!", "success")
        return redirect(url_for('index'))