flask框架3(資料庫ORM)

2022-08-24 22:51:11 字數 786 閱讀 4687

flask-sqlalchemy

配置:其他配置

使用class user(db.model):

__tablename__ = 'user'

id = db.column(db.integer,primary_key=true,autoincrement=true)

name = db.column(db.string(50),nullable=false)

age = db.column(db.integer)

插入一條資料

插入多條

查詢user.query.filter(user.id.in_([1,3,5,7,9])).all() 查詢id為 [1, 3, 5, 7, 9] 的所有資料 包含:in_()

user.query.order_by(user.age.desc()).all() 按年齡排序 desc:降序 aesc: 公升序

分頁:pag = user.query.paginate(2, 3) 將所有資料分頁,查詢第二頁的資料,每頁三條

pag.items 獲取當前頁碼的所有資料

pag.page 獲取當前頁碼

pag.pages 獲取總頁數

資料庫遷移

遷移步驟:

注意只需要第一次遷移時需要初始化操作,後續如果有修改直接操作2,3步即可

如果要回滾版本,可以使用python3 py檔名.py add_db history命令檢視歷史版本號

回滾版本使用命令python3 py檔名.py add_db downgrade 版本號

flask框架 資料庫

綜合案例 圖書管理系統 from flask import flask,render template,flash,redirect from wtforms import stringfield,submitfield from flask wtf import flaskform from fl...

Flask資料庫操作ORM隨筆 DB URL

貼 class person object name 111 age 18 country person類 資料庫中的一張表 person屬性 資料庫中的一張表的字段 person類的乙個物件 資料庫中表的一天資料 模型 orm 資料庫 from sqlalchemy import create e...

Flask資料庫 ORM層面刪除資料注意事項

儘管mysql預設約束型別為restric,但若不設定從表中關聯列的nullable false,那麼通過sqlalchemy的orm刪除資料不會報錯!class user base tablename user id column integer,primary key true autoincr...