2017-02-05 12 views
0

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

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')) 

Оператор еще активирует часть удаления, но я не могу показаться, чтобы получить это на самом деле удалить. Я читал документы peewee, и я думаю, что не понимаю инструкции.

ответ

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'))