#!/usr/bin/python # -*- coding: utf-8 -*- # @version : 1.0 # @Create Time : 2025/04/03 10:25 # @File : project_info.py # @IDE : PyCharm # @desc : pydantic 模型,用于数据库序列化操作 from pydantic import BaseModel, Field, ConfigDict from typing import Optional class ProjectInfoIn(BaseModel): """项目信息输入""" project_name: Optional[str] = Field(..., description="项目名称") type_code: Optional[str] = Field(..., description="项目类型编码") description: Optional[str] = Field(None, description="项目描述") model_config = ConfigDict(from_attributes=True) class ProjectInfoOut(BaseModel): """项目信息输出""" id: Optional[int] = Field(None, description="项目id") project_no: Optional[str] = Field(..., description="项目编号") project_name: Optional[str] = Field(..., description="项目名称") type_code: Optional[str] = Field(..., description="项目类型编码") description: Optional[str] = Field(None, description="项目描述") train_version: Optional[int] = Field(None, description="训练版本号") project_status: Optional[str] = Field(None, description="项目状态") model_config = ConfigDict(from_attributes=True) class ProjectInfoPagerOut(BaseModel): """项目信息输出""" id: Optional[int] = Field(None, description="项目id") project_no: Optional[str] = Field(None, description="项目编号") project_name: Optional[str] = Field(None, description="项目名称") type_code: Optional[str] = Field(None, description="项目类型编码") description: Optional[str] = Field(None, description="项目描述") train_version: Optional[int] = Field(None, description="训练版本号") project_status: Optional[str] = Field(None, description="项目状态") mark_count: Optional[int] = Field(0, description="已标记数量") no_mark_count: Optional[int] = Field(0, description="未标记数量") model_config = ConfigDict(from_attributes=True)