我在Flask应用程序中使用SQLAlchemy。在测试中,我尝试为自己的条目模拟自动时间创建和更新。但是我不明白它如何用于SQLAlchemy。例如,我尝试使用freezgun模拟 datetime创建,但是失败。例如:
class Entry(db.Model):
__tablename__ = 'entries'
created = db.Column(db.DateTime(), default=db.func.now())
updated = db.Column(db.DateTime(), default=db.func.now(), onupdate=db.func.now())
class ViewTestCase(AppliactionTestCase):
def test(self):
with freeze_time("2014-06-01 16:00:00"):
db.session.add(Entry())
db.session.commit()
entry = db.session.query(Entry).first()
self.assertEqual(entry.created, datetime(2014, 6, 1, 16, 0, 0))
Run Code Online (Sandbox Code Playgroud)
还有一个问题。如果需要刷新updated输入内容,如何强制保存输入内容而不进行更改?