from pydantic import BaseModel from typing import List, Optional from datetime import datetime from bson import ObjectId class Lesson(BaseModel): lesson_name: str markdown_lesson_file_link: str markdown_prompt_file_name: str markdown_score_prompt_file_link: str class Chapter(BaseModel): chapter_name: str lessons: List[Lesson] class Material(BaseModel): _id: ObjectId name: str description: Optional[str] = None teacher_id: str created_at: datetime updated_at: datetime image_url: Optional[str] = None # 封面图片的url chapters: List[Chapter]