flask-sqlalchemy中Datetime的創建時間、修改時間,default,server_default,onupdate


記錄第一次創建時間,default

falsk中如下兩個字段

create_time1 = db.Column(db.DateTime, default=datetime.now)

create_time2 = db.Column(db.DateTime, default=datetime.now())

兩者的區別:

第一個插入的是期望的, 數據的插入時間,每條數據插入時可自動根據當前時間生成

第二條是一個固定的時間, 程序部署的時間,所有的數據都是這個固定時間

實際上默認值在mysql數據庫沒有體現, 都是sqlalchemy在插入數據時加的

如果想想在生成的table中有默認值使用server_default

name = db.Column(db.String(45), server_default='hh')

當我們要給布爾值類型指定server_default時,需要用到text

from sqlalchemy import text
is_domain = db.Column(db.Boolean,default=False,server_default=text('0'))

 

因為mysql的datetime類型的數據不支持函數, 所以沒法指定默認值位當前時間

記錄每次修改的時間,onupdate

update_time = db.Column(db.DateTime, default=datetime.now,onupdate=datetime.now)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM