开发记录
1 一些功能的实现
1.1 建立数据库模型
1.1.1 获取带时区的时间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | from datetime import datetime
from tzlocal import get_localzone
from sqlmodel import SQLModel, Field
class Enrollment(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True) # 主键
department: int # 部门编号
applicant: int # 申请人 (外键 user.id)
time: datetime = Field(default=datetime.now(get_localzone())) # 申请时间
status: int # 状态
# 格式化为带时区的UTC时间
test = Enrollment()
print(test.time.strftime("UTC%z %Y-%m-%d %H:%M:%S"))
|
1.2 添加数据
1.2.1 由于重复引起的报错
Field = (unique = True)
会返回一个 IntegrityError
| from sqlalchemy.exc import IntegrityError
|
2 一些注意事项
2.1 依赖项注入
若写成这种情况:
| def function(para:int):
pass
depends = Depends(function())
|
则会报错,提示函数 function()
需要一个参数。
原因是 Python 将其识别为对函数进行调用,而不是给 Depends()
函数传参。
正确写法:
| def function(para:int):
pass
depends = Depends(function)
|