【问题标题】:Delete Entry from MySql database Python Flask从 MySql 数据库 Python Flask 中删除条目
【发布时间】:2019-08-12 11:27:33
【问题描述】:

我正在尝试从数据库中删除一个条目。我从模板中的表单提交“wantid”。我一直在寻找几个小时,但似乎无法完成这项工作。我认为这是我不明白的基本内容。如果有人能看到这个并让我知道他们看到了什么,我将不胜感激!

@app.route("/deletewan", methods=['POST', 'GET']) def deletewant():

wantid = request.form.get('wantid')
x = WantIt.query.filter_by(wantid=wantid)
db.session.delete(x)
db.session.commit()

return redirect('/wantit')

注意- WantIt 是表名。 wantid 是主键。

【问题讨论】:

  • 请同时展示型号
  • 类 WantIt(db.Model): wantid = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(120)) author = db.Column(db .String(120)) binding = db.Column(db.String(30)) owner_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __init__(self, name, author, binding ): self.name = name self.author = 作者 self.binding = binding

标签: python mysql flask-sqlalchemy


【解决方案1】:

您需要使用 Query 对象上的方法来实际从数据库中返回一个项目。

所以不要这样:

x = WantIt.query.filter_by(wantid=wantid)

这样做:

x = WantIt.query.filter_by(wantid=wantid).first()

见:https://docs.sqlalchemy.org/en/latest/orm/tutorial.html#returning-lists-and-scalars

【讨论】:

  • 谢谢。我想,这让我克服了那个错误。现在我要再扔一个。我会发布一个新问题。
  • 我想出了下一个问题。不过谢谢!
猜你喜欢
  • 2017-07-26
  • 2020-05-31
  • 1970-01-01
  • 2011-02-21
  • 2019-09-13
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多