python 的flask orm操作 大全

ernestwang 1921 1

orm操作

  • @app.route("/insert/")
    def insert():
        #模型数据对象
        # ming  = User(name="ming", email="37377939@qq.com", age=12)
    
        #保存到数据库
       # db.session.add(ming)
        hong = User(name="hong", email="37377989@qq.com", age=18)
        uzi = User(name="uzi", email="37377934@qq.com", age=16)
        db.session.add_all([hong, uzi])
        db.session.commit()
        return "数据已添加"
  • 删,改,查
    #查一条数据
    @app.route("/select/<uid>/")
    def select(uid):
        #根据谁来查  id
        u = User.query.get(uid)
        print(u, type(u))
        if u:
            return u.name
    
        return "查无此人"
    #修改数据
    @app.route("/update/<uid>/")
    def update(uid):
        u = User.query.get(uid)
        if u:
            u.email = "0000000@163.com"
            #必须重新保存一下
            db.session.add(u)
            db.session.commit()
            return "数据已修改"
        return "没有找到要修改的数据"
    
    @app.route("/delete/<uid>/")
    def delete(uid):
        u = User.query.get(uid)
        if u:
            #删除数据
            db.session.delete(u)
            db.session.commit()
            return "数据已删除"
        return "没有要删除的数据"
  • 查询
    #各种查询
    @app.route("/query/")
    def query():
        #根据主键进行查询
        #u = User.query.get(1)
        #和上面功能一样,但是如果没有查到返回404,禁止使用者这个函数,局限性太大了
        #u = User.query.get_or_404(2)
        #查找到是第一个数据
    
        #u = User.query.first()
        #查找所有的数据, 列表
        #users = User.query.all()
        #print(users)
        #有限制的查询,链式操作
        #users = User.query.limit(2).all()
        #设置结果的偏移量
        #users = User.query.offset(2).all()
        #结果集进行排序的问题
        #users = User.query.order_by(User.age.desc()).all()
        #统计
        # c = User.query.count()
        # print(c)
        # return str(c)
        #用的很少,但是你得知道有这种写法
        # max_age = db.session.query(func.max(User.age)).scalar()
        # return str(max_age)
        #登录的时候使用
        #users = User.query.filter_by(name="uzi").all()
        #users = User.query.filter(User.age > 3).all()
        users = User.query.filter(User.age.__gt__(3)).all()
        return "," .join(u.name for u in users)
__ge__ >=
__gt__ >
__le__ <=
__lt__ <
__eq__ ==
__ne__ !=

标签: python

发布评论 1条评论)

评论列表

2021-08-13 03:28:30

不错,我喜欢,收藏了、、、

复制成功
微信号: irenyuwang
关注微信公众号,站长免费提供流量增长方案。
我知道了