flask SQLALCHEMY配置初級

2021-10-10 09:47:06 字數 2610 閱讀 3775

from flask import flask

from flask_sqlalchemy import sqlalchemy

class

config

(object):

"""配置引數"""

# sqlalchemy的配置引數

# sqlalchemy_database_uri = "mysql:" # 這裡會報錯

# config配置中新增【python3官方使用的是mysqlconnector驅動,如果使用pymysql驅動就會有警告】

sqlalchemy_database_uri =

"mysql+mysqlconnector://root:@localhost/db_python04"

# 設定sqlalchemy自動更新追蹤資料庫

sqlalchemy_track_modifications =

false

# 建立資料庫裡的sqlalchemy的工具物件

class

role

(db.model)

:"""使用者角色/身份表"""

__tablename__ =

"tbl_roles"

id= db.column(db.integer, primary_key=

true

) name = db.column(db.string(32)

, unique=

true

)# 外來鍵 反向字段

users = db.relationship(

"user"

, backref=

"role"

)# 建立模型類

class

user

(db.model)

:"""使用者表"""

__tablename__ =

"tbl_users"

# 指明資料的表名

id= db.column(db.integer, primary_key=

true

)# 整型的主鍵,會預設設定為自增主鍵

name = db.column(db.string(64)

, unique=

true

)# 唯一鍵

email = db.column(db.string(

128)

, unique=

true

) password = db.column(db.string(

128)

) role_id = db.column(db.integer, db.foreignkey(

"tbl_roles.id"))

'/')

defindex()

:return

"index page"

if __name__ ==

'__main__'

:# 清除資料庫的所有資料

db.drop_all(

) db.create_all(

)

sqlalchemy_database_uri =

"mysql:"

170: warning:

(1366

,"incorrect string value: '\\xd6\\xd0\\xb9\\xfa\\xb1\\xea...' for column 'variable_value' at row 485"

) result = self._query(query)

解決方案:

pip install mysql-connector

然後在config配置中新增【python3官方使用的是mysqlconnector驅動,如果使用pymysql驅動就會有警告】

-- 修改後就正常了

sqlalchemy_database_uri =

"mysql+mysqlconnector://root:123@localhost/studentmanage"

users = db.relationship(

"user"

, backref=

"role")0

.新增到role模型中的users屬性代表這個關係的物件導向視角。對於乙個role類的例項,其users屬性將返回與角色相關聯的使用者組成的列表。

1.db.relationship(

)第乙個引數表明這個關係的另一端是哪個模型(類)。如果模型類尚未定義,可使用字串形式指定。

2.db.relationship(

)第二個引數backref,將向user類中新增乙個role屬性,從而定義反向關係。這一屬性可替代role_id訪問role模型,此時獲取的是模型物件,而不是外來鍵的值。

上面的關係為一對多關係的表示,一對一怎麼辦?

呼叫db.relationship(

)時需要把userlist引數設定為false。如下:

db.relationship(

'user'

,backref=

'role'

,uselist=

false

)

Flask SQLAlchemy學習總結

配置鍵說明 sqlalchemy database uri 用於連線資料的資料庫。例如 sqlalchemy binds 乙個對映繫結 bind 鍵到 sqlalchemy 連線 uris 的字典。用於繫結多個資料庫 sqlalchemy echo 如果設定成 true sqlalchemy 將會記...

flask SQLAlchemy基本使用

作為資料的操作,最基本的就是增刪改查 常用的sqlalchemy查詢過濾器 過濾器說明 filter 把過濾器新增到原查詢上,返回乙個新查詢 filter by 把等值過濾器新增到原查詢上,返回乙個新查詢 limit 使用指定的值限定原查詢返回的結果 offset 偏移原查詢返回的結果,返回乙個新查...

Flask SQLAlchemy定義模型

模型表示程式使用的資料實體,在flask sqlalchemy中,模型一般是python類,繼承自db.model,db是sqlalchemy類的例項,代表程式使用的資料庫。類中的屬性對應資料庫表中的列。id為主鍵,是由flask sqlalchemy管理。db.column類建構函式的第乙個引數是...