SQLalchemy 更新所有行而不是一行

用户3525516

此代码应该更新数据库中与“post_id”匹配的帖子。但是它将更新表中的每个帖子。

代码已经过编辑,所以它可以正常工作。

@app.route('/update/<post_id>', methods=['GET', 'POST'])
def update(post_id):
  if 'username' not in session:
    return redirect(url_for('login'))
  post = Post.query.get(post_id)  
  form = PostForm(obj=post)

  if request.method == 'POST':
    if form.validate() == False:
      return render_template('update.html', form=form)
    else:
      Post.query.filter(Post.post_id==int(post_id)).update(dict(
        title=form.title.data, body=form.body.data))
      db.session.commit()
      return redirect(url_for('retrieve'))

  elif request.method == 'GET':
    return render_template('update.html', form=form, post_id=post_id)


class Post(db.Model):
  __tablename__ = 'posts'
  post_id = db.Column(db.Integer, primary_key=True)
  author = db.Column(db.String(128))
  title = db.Column(db.String(128))
  body = db.Column(db.Text)

  def __init__(self, author, title, body):
    self.author = author
    self.title = title
    self.body = body

<form method="POST" action="/update/{{post_id}}">
阿维纳什·拉吉

您必须检查post_idPostclass 属性传递的相等性post_id

Post.query.filter(Post.post_id==int(post_id)).update(dict(
        title=form.title.data, body=form.body.data))

您的查询应该返回所有Post记录,因为您检查post_idpost_id自身(而不是Post类属性)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mysql 更新正在更新所有行而不是一行

来自分类Dev

烧瓶SqlAlchemy读取锁定一行

来自分类Dev

SQLAlchemy在一行中创建对象?

来自分类Dev

PHP表单提交但仅更新最后一行。需要更新所有行

来自分类Dev

如何更新SqlAlchemy中所有行的一列数据?

来自分类Dev

SQLAlchemy获取列组合的所有行

来自分类Dev

phpmyadmin:一次更新所有条目中的一行

来自分类Dev

WPF MVVM DataGridComboboxColumn更改一行更新所有

来自分类Dev

Codeigniter查询更新所有行,而不是1

来自分类Dev

SQLAlchemy更新

来自分类Dev

MySQL如何更新所有行的列,并为每一行更新不同的列值

来自分类Dev

如何强制SQLAlchemy更新行

来自分类Dev

更新SQLAlchemy中的特定行

来自分类Dev

SQLAlchemy计算所有行,我想要特定的行

来自分类Dev

SQLAlchemy计算所有行,我想要特定的行

来自分类Dev

SQLAlchemy:将多个实例映射到同一行

来自分类Dev

使用sqlalchemy从相关表中仅选择一行

来自分类Dev

使用sqlalchemy等待行更新或行插入

来自分类Dev

SQLAlchemy:如何打印会话中所有添加或更新行的日志

来自分类Dev

雄辩地更新所有行

来自分类Dev

在Flask上使用SQLAlchemy替换所有行的字符

来自分类Dev

使用 Flask SQLAlchemy 更新特定行

来自分类Dev

sed删除所有行,而不是选择的一行

来自分类Dev

SqlAlchemy TIMESTAMP“更新”额外

来自分类Dev

SQLAlchemy 中的更新错误

来自分类Dev

sqlalchemy 更新部分日期

来自分类Dev

sqlalchemy以及如何计算行

来自分类Dev

如何在flask-sqlalchemy的一行中的SELECT语句中包含SUM,COUNT

来自分类Dev

SQL:如何使用计算更新所有行?