12、flask-模型-models

little小新發表於2024-07-07

ORM

Flask透過Model運算元據庫、不管你資料庫的型別是Mysql或者是sqlite、Flask自動幫你生成相應的資料庫型別的sql語句、所以不需要關注sql語句和型別、對資料庫的操作flask會自動幫我們完成

Flask使用關係對映(Object Relational Mappong, 簡稱ORM)框架去操控資料庫

ORM物件關係對映、是一種程式技術、用於實現物件導向程式語言裡不同型別系統的資料之間的轉換

將對物件的操作轉為原生的sql

優點:
- 易用性,可以有效較少重複sql
- 效能損耗少
- 設計靈活、可以輕鬆實現複雜的查詢
- 移植性好

Flask的ORM

Flask使用python自帶的ORM:SQLAlchemy
針對於Flask的支援、安裝外掛 flask=sqlalchemy
安裝:
- pip install flask-sqlalchemy

連線sqlite

SQLLite連線的URI:
- DB_URI = sqlite:///sqlite3.db

連線mysql

USERNAME='root'
PASSWORD='root'
HOSTNAME = 'localhost'
PORT = '3306'
DATABASE = 'ocs'

格式:
 - mysql+pymysql://USERNAME:PASSWORD@HOSTNAME:PORT/DATABASE

配置URL:
DB_URI='mysql+pymysql://{}:{}@{}:{}/{}'.format(
    USERNAME,
    PASSWORD,
    HOSTNAME,
    PORT,
    DATABASE
)

在flask中使用ORM

連線資料庫需要指定配置:
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI    #配置連線資料庫路徑DB_URI
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False    #禁止物件追蹤修改


SQLite資料庫連線不需要額外的驅動,也不需要使用者名稱和密碼
#在Flask專案中使用
db = SQLALchemy()
db.init_app(app)

需要安裝的包

#安裝 flask-sqlalchemy (用於ORM關係物件對映)
- pip install flask-sqlalchemy -i https://pypi.douban.com/simple
- 或:pip install flask-sqlalchemy
#安裝 flask-migrate (用於資料遷移)
- pip install flask-migrate -i https://pypi.douban.com/simple
-  或 pip install flask-migrate
#安裝 pymysql (mysql驅動)
- pip install pymysql -i https://pypi.douban.com/simple
- 或pip install pymysql

相關文章