14 lines
494 B
Python
14 lines
494 B
Python
from pydantic import BaseModel, Field
|
|
from typing import List, Optional
|
|
|
|
class MarkdownNode(BaseModel):
|
|
level: int = Field(default=0, description="节点层级")
|
|
title: str = Field(default="Root", description="节点标题")
|
|
content: Optional[str] = Field(default=None, description="节点内容")
|
|
children: List['MarkdownNode'] = Field(default_factory=list, description="子节点列表")
|
|
|
|
class Config:
|
|
arbitrary_types_allowed = True
|
|
|
|
MarkdownNode.model_rebuild()
|