flask ORM增刪查改CURD

2021-10-17 05:22:03 字數 3590 閱讀 6582

本文章是通過學習《網易雲python全棧工程師》課程的筆記

user = user(field1 = value1, field2 = value2, …)

db.session.add(user)

db.session.commit( )

#獲得使用者列表

"/userlist"

, methods=

['get'

,"post"])

defuserlist()

:users = user.query.

all(

)return render_template(

"user/user_list.html"

, users=users)

檢視頁面for迴圈使用者

```python

>

>

}td>

>

}td>

>

}td>

>

}td>

>

href="

">

修改a>

href="

">

刪除a>

td>

tr>

模板:例如:users = user.query.all()檢視所有使用者

d-delete刪除記錄

db.session.delete(記錄物件)刪除

單個刪除:

use1=user.query.get(1)]

db.session.delete(user1)

db.session.commit()

即可將id=1的記錄刪除

批量刪除:

users=user.query.all()

for迴圈要批量刪除的使用者

[db.session.delete(user)for user in users]

db.session.commit()

路由:

def deleteuser(user_id)

pass(刪除語句)

記得要commit確定

return redirect(使用者列表頁)

#刪除後返回使用者列表頁面

#根據使用者id刪除使用者

"/user_delete/"

)def

deleteuser

(user_id)

:user = user.query.get(user_id)

db.session.delete(user)

db.session.commit(

)return redirect(url_for(

"userlist"))

#redirect重定向回userlist

通過模型類查詢物件更新記錄(u-更新記錄)

比如:use=db.query.get(1)

user1.password = 『654321』

db.session.commit() 確認修改

模板:

修改頁面需要的表單與註冊頁面的表單是一致的

但是需要使用使用者當前資訊填充表單

路由:

#使用者資訊修改

"/useredit/"

,methods=

['get'

,'post'])

defedituser

(user_id)

:user = user.query.get(user_id)

if request.method ==

"post"

:user.username = request.form[

'username'

]user.realname = request.form[

'realname'

]user.*** = request.form[

'***'

]user.mylike =

"|".join(request.form.getlist(

'like'))

user.city = request.form[

'city'

]user.intro = request.form[

'intro'

]db.session.commit(

)return redirect(url_for(

"userlist"))

return render_template(

"user/edit_user.html"

,user=user)

model.query.

《查詢條件》

.《查詢方法》

"/userlist"

,methods=

["get"

,"post"])

defuserlist()

:if request.method ==

"post"

:q = request.form[

'q']

condition =

#filter_by

# users = user.query.filter_by(**condition).all()

#like

if request.form[

'field']==

"realname"

:condition = user.realname.like(

'%%%s%%'

% q)

else

:condition = user.username.like(

'%%%s%%'

% q)

if request.form[

'order']==

'1':

order = user.

id.asc(

)else

:order = user.

id.desc(

)users = user.query.

filter

(condition,user.***==request.form[

'***'])

.order_by(order)

.all()

else

:#users = user.query.all()

#分頁操作

users = user.query.paginate(1,

10)return render_template(

"/user/user_list.html"

,users=users.items,pages=users.pages,total=users.total,pagelists=users.iter_pages(

))

MongoDB增刪查改

mongodb沒有建立資料庫的命令,但是你可以先執行use db name來進行一些操作,如db.createcollection db table 這樣就可以建立乙個db name的資料庫了。以下語句其實都不用加引號 insert方法 insert obj db.test.insert write...

sed 增刪查改

對每行處理,文字替換 1.替換 s命令 sed s jcdd ganji g file 把檔案 file 中出現jcdd 的換出ganji.g標誌在整行範圍內把jcdd都替換為ganji。如果沒有g 標記,則只有每行第乙個匹配的jcdd被替換成ganji。g換出 ng代表 第n處開始出現的替換 se...

angular增刪查改

數量排序 ng model numsby 數量正序 數量倒序 ng click deleteall 批量刪除 ng click selectall 產品編號 產品名稱 購買數量 產品單價 產品總價 操作ng repeat x in product filter orderby numsby clas...