python - Deleting row with Flask-SQLAlchemy -
i'm trying make function delete record in database flask , extension sqlalchemy. problem is, instead of deleting 1 row, deletes of them. can tell me what's wrong code?
@app.route('/admin/delete/<int:page_id>', methods=['get','post']) @requires_auth def delete_page(page_id): page = page.query.get(page_id) if not page: abort(404) if page.children: flash('you can not delete page child pages. delete them, or assign them different parent.', 'error') return redirect(url_for('admin_page')) if request.method == 'post': page.query.get(page_id).query.delete() db.session.commit() flash('page deleted successfully', 'success') return redirect(url_for('admin_page')) return render_template('admin_delete.html', page_title=page.title, page_id=page_id)
thanks in advance!
i suspect line not think.
page.query.get(page_id).query.delete()
you're getting single instance (which did before), , using query
issue new query on objects without filtering , therefore deleting of them.
probably want this:
db.session.delete(page)
Comments
Post a Comment