from datetime import datetime from typing import Any from pydantic import BaseModel, Field class EssayGradeCreate(BaseModel): title: str = Field(default="作文批改报告", min_length=1, max_length=200) essay_text: str = Field(..., min_length=1) grade_level: str = "初中" essay_type: str = "记叙文" total_score: int = 50 result: dict[str, Any] = Field(default_factory=dict) class EssayGradeOut(BaseModel): id: int user_id: int title: str essay_text: str = "" grade_level: str = "初中" essay_type: str = "记叙文" total_score: int = 50 result: dict = Field(default_factory=dict) created_at: datetime | None = None updated_at: datetime | None = None model_config = {"from_attributes": True}