Колба / Пиуи Удалить строку

Я использую Peewee с Flask. У меня есть таблица частей, которую я хочу добавлять, удалять и обновлять из формы. У меня есть часть добавления, и я работаю над функцией удаления. Эта функция удалит из базы данных строку, совпадающую с именем части, указанным в форме. Вот мой код:

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 и думаю, что не понимаю инструкций.


person Community    schedule 05.02.2017    source источник


Ответы (1)


Извините, ребята, я разобрался. Мне нужно было на самом деле ссылаться на базу данных и использовать 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'))
person Community    schedule 05.02.2017