Files
xsl_node/backend/app/schemas/project.py
T
2026-01-26 18:21:34 +08:00

42 lines
986 B
Python

from pydantic import BaseModel
from datetime import datetime
from typing import Optional
class ProjectBase(BaseModel):
"""项目基础模型"""
name: str
description: Optional[str] = None
department: str
budget: Optional[int] = None
start_date: Optional[datetime] = None
end_date: Optional[datetime] = None
status: Optional[str] = "pending"
class ProjectCreate(ProjectBase):
"""创建项目模型"""
pass
class ProjectUpdate(BaseModel):
"""更新项目模型"""
name: Optional[str] = None
description: Optional[str] = None
department: Optional[str] = None
budget: Optional[int] = None
start_date: Optional[datetime] = None
end_date: Optional[datetime] = None
status: Optional[str] = None
class ProjectResponse(ProjectBase):
"""项目响应模型"""
id: int
created_by: int
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
from_attributes = True