数据库时间日志迁移至 BaseModel
This commit is contained in:
@@ -1,7 +1,27 @@
|
||||
from typing import Optional
|
||||
from sqlmodel import SQLModel, Field
|
||||
from sqlalchemy import DateTime
|
||||
from datetime import datetime, timezone
|
||||
from sqlalchemy.ext.asyncio import AsyncAttrs
|
||||
|
||||
class BaseModel(SQLModel):
|
||||
utcnow = lambda: datetime.now(tz=timezone.utc)
|
||||
|
||||
class BaseModel(SQLModel, AsyncAttrs):
|
||||
__abstract__ = True
|
||||
|
||||
id: Optional[int] = Field(default=None, primary_key=True, description="主键ID")
|
||||
id: Optional[int] = Field(default=None, primary_key=True, description="主键ID")
|
||||
created_at: datetime = Field(
|
||||
default_factory=utcnow,
|
||||
description="创建时间",
|
||||
)
|
||||
updated_at: datetime = Field(
|
||||
sa_type=DateTime,
|
||||
description="更新时间",
|
||||
sa_column_kwargs={"default": utcnow, "onupdate": utcnow},
|
||||
default_factory=utcnow
|
||||
)
|
||||
deleted_at: Optional[datetime] = Field(
|
||||
default=None,
|
||||
description="删除时间",
|
||||
sa_column={"nullable": True}
|
||||
)
|
||||
Reference in New Issue
Block a user