Python—Flask框架(一), 淺談flask_sqlalchemy數據庫模塊

Python—Flask框架(一), 淺談flask_sqlalchemy數據庫模塊

官方文檔

  1. 英文文檔
  2. 中文文檔

學哪些

其實最後需要掌握的就是CURD(create,update,read,delete)
閱讀官方文檔是十分主要的,這篇就主要介紹 引入上下文,配置和模塊關係

引入上下文

在這裏插入圖片描述
需要注意的是,SQLAlchemy是全局的。
定義一個SQLAlchemy的步驟 實例化和初始化
我們在定義工廠函數的時候,不能將實例化和初始化一併定義在其中,這樣會導致引包混淆,所以要另外定義一個函數,專門用來實例化SQLAlchemy,而初始化就放在工廠函數中即可。

項目中另外用於存儲實例化的extensions函數

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()  # 實例化模型

工廠函數中的create_app函數

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from myobject.extensions import db

def create_app():
    app = Flask(__name__)
    db.init_app(app)  # 初始化
    return app

這樣當在全局引用db的時候就不會混淆了,當需要用到的時候, 引入extensions中的db即可了

from myobject.extensions import db

還有好多擴展,均可這樣理解
有些同學在理解上下文的時候往往會出現困難,其實很簡單上下文是利用棧形式來存儲的,正所謂先進後出…

配置

配置主要就是配置數據庫
用啥數據庫,保存到哪裏啊
這些東西就十分建議食用官方文檔
在這裏插入圖片描述
在這裏插入圖片描述

模塊關係

兩種關係 一對多 one to many and 多對多 many to many
下面就以 " 博主–文章 " , " 文章–類別 “ 來舉例子

定義模型的時候,就需要考慮各個元素的所屬問題
就好比博主和文章
一篇文章可以擁有多個博主嗎,一個博主可以擁有多篇文章嗎
那理想情況下 前者肯定不成立的,後者是成立的,所以這時候,博主對文章就是one to many。反之文章對博主就是many to one
在這裏插入圖片描述
再說說文章和分類
一篇文章可以有多個類別嗎,一個類別可以有多篇文章嗎
左右兩邊都成立,也就是說 文章對分類就是多對多關係(many to many)
圖中的單向線,其實可以看成雙向線
在這裏插入圖片描述
如有疑問或文章中出現問題,歡迎來評論?,另外祝各位1024節日快樂

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章