2023年7月20日发(作者:)
SQLAlchemy的字段default默认值我们都知道:age = Column('age', Integer, default=18)这样的字段定义⽅式,即字段age默认值为18。但是SQLAlchemy中,这个定义会出现⼀个问题:即默认值只有插⼊到数据库中才能⽣效。同样在运⾏中时,我们如果不⽤(..)的⽅法,是⽆法获得这个值的,也即是说返回None。即使()或()也没⽤。有⼈说的ColumnDefault(),
server_default=..也都没⽤。因为,default只会影响数据库,⽽不存留在ORM对象⾥。所以,除了⼀些⽐较⿇烦的hack外,还是建议直接给ORM对象的这个column字段显式赋值,⽐如obj = MyORM(age=18),这样就能获取了。参考:Default Objects API参考:How to apply Column defaults before a commit in sqlalchemy
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689826194a288995.html
评论列表(0条)