40 lines
694 B
Python
40 lines
694 B
Python
"""
|
|
待办事项相关的 Pydantic 模式
|
|
"""
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class TodoBase(BaseModel):
|
|
"""待办事项基础模式"""
|
|
title: str
|
|
|
|
|
|
class TodoCreate(TodoBase):
|
|
"""创建待办事项请求模式"""
|
|
pass
|
|
|
|
|
|
class TodoUpdate(BaseModel):
|
|
"""更新待办事项请求模式"""
|
|
title: Optional[str] = None
|
|
done: Optional[bool] = None
|
|
|
|
|
|
class TodoInDB(TodoBase):
|
|
"""数据库中的待办事项模式"""
|
|
id: int
|
|
done: bool
|
|
created_at: datetime
|
|
user_id: int
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class Todo(TodoInDB):
|
|
"""待办事项响应模式"""
|
|
pass
|
|
|