亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                Flask博客實戰(zhàn) SQLAlchemy的增刪改查

                Flask博客實戰(zhàn) SQLAlchemy的增刪改查

                既然我們選擇了使用ORM框架,那就必須熟練掌握其提供的增刪改查方法,在正式編寫視圖事前,本節(jié)內容我們先在shell環(huán)境中來了解和熟悉其增刪改查的基礎方法!

                插入記錄

                這里我們以博客的分類為案例進行演示

                1、首先設置環(huán)境變量,進入shell環(huán)境

                至于如何導出環(huán)境變量請參考《安裝并配置Flask-SQLAlchemy》章節(jié),最后同步數據字段相關內容!

                2、運行如下命令進入shell環(huán)境

                flask shell

                3、導入模型數據

                >>> from RealProject import db>>> from app.blog.models import Category, Post

                插入一條分類記錄

                >>> cate = Category(name=’分類一’)>>> db.session.add(cate)>>> db.session.commit()>>> cate

                以上就是插入向數據庫插入一條記錄的基本思路:

                • 1、實例化模型的python對象
                • 2、將該實例化對象添加到回話 db.session.add(cate)
                • 3、提交該會話 db.session.commit()

                查詢記錄

                在查詢之前我們先多添加幾條分類數據的記錄

                • 拓展,批量插入數據的幾種方法:http://www.lotdoc.cn/blog/detail/178/

                >>> cates = [‘分類二’, ‘分類三’, ‘分類四’]>>> for name in cates:… cate = Category(name=name) … db.session.add(cate)… db.session.commit()…>>> Category.query.all()[, , , ]

                查詢最常用方法有:all()、first()、get()、filter()、order_by()

                • 按分類名稱檢索

                >>> cate1 = Category.query.filter_by(name=’分類一’).first()>>> cate1.id1>>> cate1.name’分類一’

                這里如果傳入的分類名稱不存在則返回None!

                • 通過更復雜的表達式查詢多個分類:

                >>> Category.query.filter(Category.name.endswith(‘分類’)).all()[]>>> Category.query.filter(Category.name.endswith(‘分類一’)).all() []>>> Category.query.filter(Category.name.endswith(‘2’)).all() []>>> Category.query.filter(Category.name.startswith(‘分’)).all() [, , , ]

                模糊匹配某一個字段,endswith從字段的最后一個字符開始匹配,startswith從第一個字符開始匹配

                • 按某字段進行排序:

                >>> Category.query.order_by(Category.add_date).all()[, , , ]>>> Category.query.order_by(-Category.add_date).all()[, , , ]

                • 限制查詢數量

                >>> Category.query.limit(1).all()[]>>> Category.query.limit(2).all() [, ]>>> Category.query.limit(3).all() [, , ]

                • 按住鍵查詢

                >>> Category.query.get(1)

                更新方法

                >>> cate_2 = Category.query.get(2)>>> cate_2.name = ‘分類二new’>>> db.session.commit()

                刪除記錄

                >>> cate = Category.query.get(1)>>> db.session.delete(cate)>>> db.session.commit()

                常用的查詢和過濾方法

                過濾方法

                說明

                filter()

                使用指定的規(guī)則過濾記錄,返回新產生的查詢對象

                filter_by()

                使用指定規(guī)則過濾記錄(以關鍵字表達式的形式),返回新產生的查詢對象

                order_by()

                根據指定條件對記錄進行排序,返回新產生的查詢對象

                group_by()

                根據指定條件對記錄進行分組,返回新產生的查詢對象

                下面是一些常用的查詢方法:

                查詢方法

                說明

                all()

                返回包含所有查詢記錄的列表

                first()

                返回查詢的第一條記錄,如果未找到,則返回 None

                get(id)

                傳入主鍵值作為參數,返回指定主鍵值的記錄,如果未找到,則返回 None

                count()

                返回查詢結果的數量

                first_or_404()

                返回查詢的第一條記錄,如果未找到,則返回 404 錯誤響應

                get_or_404(id)

                傳入主鍵值作為參數,返回指定主鍵值得記錄,如果未找到,則返回 404 錯誤響應

                paginate()

                返回一個 Pagination 對象,可以對記錄進行分頁處理

                其他章節(jié):

              1. Flask博客開發(fā)實戰(zhàn) – 前言
              2. Flask博客開發(fā)實戰(zhàn) – 配置環(huán)境并安裝Flask
              3. Flask博客實戰(zhàn) – 快速上手
              4. Flask博客實戰(zhàn) – 目錄結構
              5. Flask博客實戰(zhàn) – 工廠函數
              6. Flask博客實戰(zhàn) – 藍圖應用
              7. Flask博客實戰(zhàn) – Flask-SQLAlchemy的使用
              8. Flask博客實戰(zhàn) – 配置Flask-Migrate
              9. Flask博客實戰(zhàn) – 博客相關模型創(chuàng)建
              10. 鄭重聲明:本文內容及圖片均整理自互聯網,不代表本站立場,版權歸原作者所有,如有侵權請聯系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月16日 09:09
                下一篇 2022年6月16日 09:09

                相關推薦

                聯系我們

                聯系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息