Spaces:
Sleeping
Sleeping
File size: 1,280 Bytes
551658a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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()
|