开发者社区 问答 正文

Flask-sqlalchemy基于过滤条件的代码是什么?

Flask-sqlalchemy基于过滤条件的代码是什么?

展开
收起
游客qzzytmszf3zhq 2021-11-18 21:48:51 285 分享 版权
1 条回答
写回答
取消 提交回答
  • from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    
    # 相关配置
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    app.config['SQLALCHEMY_ECHO'] = True
    
    # 创建组件对象
    db = SQLAlchemy(app)
    
    
    # 构建模型类  商品表
    class Goods(db.Model):
        __tablename__ = 't_good'  
        id = db.Column(db.Integer, primary_key=True)  
        name = db.Column(db.String(20), unique=True)  
        count = db.Column(db.Integer) 
    
    
    @app.route('/')
    def purchase():
        """购买商品"""
    
        # 更新方式2: update子查询   可以避免更新丢失问题   
        # update t_good set count = count - 1 where name = '方便面';
        Goods.query.filter(Goods.name == '方便面').update({'count': Goods.count - 1})
        # 提交会话
        db.session.commit()
        return "index"
    
    if __name__ == '__main__':
        # 重置数据库数据
        db.drop_all()
        db.create_all()
    
        # 添加一条测试数据
        goods = Goods(name='方便面', count=1)
        db.session.add(goods)
        db.session.commit()
        app.run(debug=True)
    
    
    2021-11-18 21:49:11
    赞同 展开评论
问答标签:
问答地址: