orm.reconstructor打上后create_time就不能自动赋值了

来源:9-5 @orm.reconstructor 解决模型对象实例化问题

宇文哲

2020-06-01

使用orm.reconstructor装饰器后是可以让Model对象实例化的时候执行,但是Base中init中的create_time自动赋值就执行不到了。还有另一个问题就是,Base中的init方法并没有打上orm.reconstructor装饰器,那之前是如何实例化Model对象的时候实现自动对create_time赋值的呢

写回答

2回答

宇文哲

提问者

2020-06-01

//img.mukewang.com/szimg/5ed5058b0982fecc11941568.jpg

和老师的是一样的,除了把是否删除改为了is_delete

0
2
qq_慕虎9456977
我的也不能赋值了啊,除非显式的调用Base的构造函数比如: super(User, self).__init__() 这样才会对create_time赋值, 但是这样又会因为@ORM创建再次调用init导致数据被修改 ,解决办法 from time import time create_time = Column(Integer, default=time) 这样就可以每次新建数据都会自动插入 时间戳 如果需要datatime格式也可以 from datetime import datetime create_time = Column(Integer, default=datetime.now)
2021-01-10
共2条回复

7七月

2020-06-01

截图我看一下Base中的代码

0
0

Python Flask高级编程之RESTFul API前后端分离精讲

RESTFul+权限管理+token令牌+扩展flask=提升编程思维

2037 学习 · 359 问题

查看课程