python 的flask orm操作 大全

    Python编程 wuya 163次浏览 已收录 0个评论

    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 的flask orm操作 大全
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址