如何使用SQLAlchemy和session更新?

时间:2015-01-11 18:22:05

标签: python sqlalchemy

当我想在我的MyProducts表中添加一行时,我会这样做:

p = models.MyProducts(code="123456")
db.session.add(p)
db.session.commit()

内部models.py我有:

class MyProducts(db.Model):
    id = db.Column(db.Integer, primary_key = True, autoincrement=True)
    code = db.Column(db.Integer)
    quantity = db.Column(db.Integer, default=1)
    comment = db.Column(db.String(99999), default="")
    pricepaid = db.Column(db.Float(264), default="0.0")

如何更新代码为“123456”的行? 我试过了

updater = models.MyProducts.query.filter_by(code="123456").update({'comment':"greeeeat product"})
db.session.add(updater)
db.session.commit()

但这不起作用。

1 个答案:

答案 0 :(得分:3)

假设它只是一种产品:

my_product = models.MyProducts.query.filter_by(code=123456).first()  # @note: code is Integer, not a String, right?
if my_product:
    my_product.comment = "greeeeat product"
    db.session.add(my_product)
    db.session.commit()