Files
server/base/schema.py
T

72 lines
1.5 KiB
Python

from ninja import Schema
from datetime import datetime
from typing import Optional, List
class LinkCategorySchema(Schema):
id: int
name: str
code: str
order: int
is_active: bool
created_at: Optional[datetime] = None
class FriendLinkSchema(Schema):
id: int
category_id: int
name: str
url: str
order: int
is_active: bool
created_at: Optional[datetime] = None
class LinkCategoryCreateSchema(Schema):
name: str
code: str
order: int = 0
is_active: bool = True
class FriendLinkCreateSchema(Schema):
category_id: int
name: str
url: str
order: int = 0
is_active: bool = True
# ================= 响应模式 (Output) =================
class PictureLinkSchema(Schema):
id: int
name: str
picture: str # 这里返回的是图片路径字符串
url: str
order: int
is_active: bool
created_at: datetime
updated_at: datetime
class Config:
# 如果你的 Model 字段和 Schema 字段名一致,通常不需要 orm_mode
# 但为了保险,或者如果你直接返回 Model 实例,建议开启
from_attributes = True
# ================= 请求模式 (Input) =================
class PictureLinkCreateSchema(Schema):
name: str
picture: str
url: str
order: int = 0
is_active: bool = True
class PictureLinkUpdateSchema(Schema):
name: Optional[str] = None
picture: Optional[str] = None
url: Optional[str] = None
order: Optional[int] = None
is_active: Optional[bool] = None