记录第一次创建时间,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(''))
因为mysql的datetime类型的数据不支持函数, 所以没法指定默认值位当前时间
记录每次修改的时间,onupdate
update_time = db.Column(db.DateTime, default=datetime.now,onupdate=datetime.now)