官方文檔
學哪些
其實最後需要掌握的就是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節日快樂