Sanic 框架中 Tortoise Orm 时区设置

前记

在使用 Tortoise Orm 的过程中发现数据库自动插入、更新的时间是 UTC 时区时间,通过官网文档发现可以在连接时对时区进行设置

修改

通过连接配置来修改时区,默认情况下的连接配置

1
2
3
register_tortoise(
app, db_url=db_url, modules={"models": ["app.models"]}, generate_schemas=False
)

如果需要修改配置,则不能用 db_url 模式连接需改为 config 模式连接,配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
register_tortoise(
app,
config={
'connections': {
'default': db_url
},
'apps': {
'models': {
"models": ["app.models"],
'default_connection': 'default',
}
},
"use_tz": False,
"timezone": "Asia/Shanghai",
},
generate_schemas=False
)

通过以上配置就能将数据库时区设置为上海时区