Flask與數據庫:SQLAlchemy模型定義
這篇文章介紹了Flask通過SQLAlchemy(ORM工具)實現數據庫交互的方法,核心步驟如下: 首先,需安裝Flask和Flask-SQLAlchemy,開發環境用SQLite無需額外驅動,其他數據庫需對應驅動(如MySQL用pymysql)。 接着,初始化Flask應用與SQLAlchemy,配置SQLite數據庫連接(URI爲sqlite:///mydatabase.db)並關閉修改跟蹤以減少開銷。 然後,定義模型:通過繼承db.Model的Python類映射數據庫表,類屬性對應字段(如id設爲主鍵,username設爲非空唯一字符串),支持多種字段類型(Integer、String、Text等);表關係用外鍵和relationship定義(如用戶與文章的一對多關係)。 創建表通過db.create_all()在應用上下文中執行,自動生成表結構。 最後,通過db.session實現CRUD操作:新增用add+commit,查詢用query.all/filter_by,更新直接修改屬性後commit,刪除用delete+commit。 總結:模型定義是Flask數據庫交互的基礎,可通過類屬性映射字段、關係,實現數據操作,後續可擴展表關係
閱讀全文Flask與數據庫連接:SQLAlchemy基礎操作
SQLAlchemy是Python流行的ORM工具,通過Python類/對象操作數據庫,避免直接寫SQL,支持多數據庫(如MySQL、SQLite),適合Flask開發。 安裝需`pip install flask flask-sqlalchemy`,MySQL等需額外驅動。初始化時,配置Flask應用及數據庫連接(如SQLite路徑),再初始化SQLAlchemy實例。 數據模型通過類定義,類對應表,類屬性爲字段(如`User`類含`id`、`username`等,設主鍵、唯一、非空約束)。用`db.create_all()`在應用上下文生成表。 核心操作(CRUD):新增(創建實例→`db.session.add()`→`commit()`);查詢(`query.all()`/`filter_by()`等);修改(改對象屬性→`commit()`);刪除(`db.session.delete()`→`commit()`)。 流程:配置連接→定義模型→創建表→CRUD操作,優勢是無需寫SQL,便於快速開發。
閱讀全文