feat: LlmDemoModel示例数据增删改查
This commit is contained in:
+18
-12
@@ -4,31 +4,37 @@ from decimal import Decimal
|
||||
from typing import List
|
||||
|
||||
from fastapi import FastAPI, APIRouter, HTTPException
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from sqlmodel import SQLModel, Field, select
|
||||
|
||||
from app.utils.model_utils import to_camel, format_datetime_to_string, format_date_to_string, FormattedDatetime, FormattedDate, current_datetime
|
||||
from app.utils.mysql_utils import AsyncSessionDep
|
||||
|
||||
# 定义北京时区(UTC+8)
|
||||
beijing_timezone = timezone(timedelta(hours=8))
|
||||
|
||||
# 定义获取当前北京时区时间的匿名函数,用于默认值生成
|
||||
current_datetime = lambda: datetime.now(beijing_timezone)
|
||||
|
||||
|
||||
class LlmDemoModel(SQLModel, table=True):
|
||||
# Pydantic V2 的模型配置
|
||||
model_config = ConfigDict(
|
||||
alias_generator=to_camel, # 使用 to_camel 函数生成别名
|
||||
populate_by_name=True, # 允许通过原始字段名(snake_case)赋值
|
||||
extra='ignore', # 忽略模型中未定义的额外字段,避免验证失败
|
||||
json_encoders={
|
||||
datetime: format_datetime_to_string, # 为 datetime 类型指定自定义的 JSON 编码器
|
||||
date: format_date_to_string # 为 date 类型指定自定义的 JSON 编码器
|
||||
}
|
||||
)
|
||||
|
||||
__tablename__ = "llm_demo"
|
||||
|
||||
id: str = Field(default=None, primary_key=True, description="唯一标识,编号")
|
||||
created_at: datetime = Field(default_factory=current_datetime, description="创建时间")
|
||||
updated_at: datetime = Field(default_factory=current_datetime, description="更新时间")
|
||||
created_at: FormattedDatetime = Field(default_factory=current_datetime, description="创建时间")
|
||||
updated_at: FormattedDatetime = Field(default_factory=current_datetime, description="更新时间")
|
||||
created_by: str | None = Field(default=None, description="创建人id")
|
||||
updated_by: str | None = Field(default=None, description="更新人id")
|
||||
|
||||
full_name: str = Field(default=None, description="用户名称")
|
||||
datetime_start: datetime = Field(default=None, description="开通会员时间")
|
||||
datetime_end: datetime = Field(default=None, description="会员截止到期时间")
|
||||
birthday: date = Field(default=None, description="生日")
|
||||
datetime_start: FormattedDatetime = Field(default=None, description="开通会员时间")
|
||||
datetime_end: FormattedDatetime = Field(default=None, description="会员截止到期时间")
|
||||
birthday: FormattedDate = Field(default=None, description="生日")
|
||||
amount: Decimal = Field(default=0, description="金额")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user