from datetime import datetime from pydantic import BaseModel from typing import Optional, List from schemas.comment import CommentResponse from schemas.user import UserResponse class RecordCreate(BaseModel): user_id: int content: str image_list: List[str] = [] video_list: List[str] = [] class RecordUpdate(BaseModel): content: Optional[str] = None image_list: Optional[List[str]] = None video_list: Optional[List[str]] = None class RecordResponse(BaseModel): id: int user: UserResponse content: str image_list: List[str] video_list: List[str] like_count: int comment_count: int comments: List[CommentResponse] = [] create_time: datetime update_time: datetime model_config = { "from_attributes": True, "json_encoders": { datetime: lambda dt: dt.strftime("%Y-%m-%d %H:%M:%S") } }