ymt-python / schemas /category.py
hsailorj's picture
Add application file
551658a
Raw
History Blame Contribute Delete
1.28 kB
from pydantic import BaseModel, Field
from typing import Optional, List
from datetime import datetime
class CategoryBase(BaseModel):
parent_code: str = Field(default="", description="父分类编码,空为顶级分类", max_length=100)
code: str = Field(default="", description="分类编码,级联编码格式", max_length=100)
name: str = Field(default="", description="分类名称", max_length=100)
sort_order: int = Field(default=0, description="排序顺序")
status: int = Field(default=1, description="状态:0-禁用,1-启用")
company_code: str = Field(default="", description="公司编码", max_length=50)
class CategoryCreate(CategoryBase):
pass
class CategoryUpdate(BaseModel):
parent_code: Optional[str] = None
code: Optional[str] = None
name: Optional[str] = None
sort_order: Optional[int] = None
status: Optional[int] = None
class CategoryResponse(CategoryBase):
id: int
created_at: datetime
updated_at: datetime
product_count: Optional[int] = 0
class Config:
from_attributes = True
class CategoryTreeResponse(CategoryResponse):
children: List['CategoryTreeResponse'] = []
class Config:
from_attributes = True
CategoryTreeResponse.model_rebuild()