1

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

Python/Flask 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 文档,但我想我不理解说明。

4

1 回答 1

1

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

Python 应用程序.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'))
于 2017-02-05T23:30:18.927 回答