Files
dpb/backend/app/api/v1/module_bre/analysis_dataset/schema.py
T
34047007@qq.com b95053c52c init: 初始化 dpb 桃育种系统代码库
前后端 + 后端 FastAPI 全量源码、部署脚本与文档。
2026-08-06 00:17:49 +08:00

46 lines
1.7 KiB
Python

"""分析数据集 —— Pydantic 校验/序列化模型。"""
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
from app.core.base_schema import CommonSchema
class AnalysisDatasetBaseSchema(BaseModel):
model_config = ConfigDict(from_attributes=True)
name: str = Field(..., description="数据集名称")
description: str | None = Field(default=None, description="数据集描述")
trait_codes: list[str] | None = Field(default=None, description="性状编码列表")
sample_ids: list[int] | None = Field(default=None, description="样本ID列表")
config: dict | None = Field(default=None, description="分析配置")
status: str | None = Field(default=None, description="状态(draft/ready)")
class AnalysisDatasetCreateSchema(AnalysisDatasetBaseSchema):
pass
class AnalysisDatasetUpdateSchema(AnalysisDatasetBaseSchema):
name: str | None = Field(default=None, description="数据集名称")
class AnalysisDatasetOutSchema(AnalysisDatasetBaseSchema):
id: int
uuid: str
name: str | None = None
description: str | None = None
trait_codes: list[str] | None = None
sample_ids: list[int] | None = None
config: dict | None = None
status: str | None = None
created_time: datetime | None = None
updated_time: datetime | None = None
created_by: CommonSchema | None = None
updated_by: CommonSchema | None = None
class AnalysisDatasetQueryParam(BaseModel):
name: str | None = Field(default=None, description="数据集名称", json_schema_extra={"q": "like"})
status: str | None = Field(default=None, description="状态(draft/ready)", json_schema_extra={"q": "eq"})