ETest-Vue-FastAPI/ruoyi-fastapi-backend/module_admin/system/entity/vo/test_item_vo.py

74 lines
2.3 KiB
Python
Raw Normal View History

2025-12-19 10:12:59 +08:00
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from pydantic_validation_decorator import NotBlank
from typing import Optional
from module_admin.annotation.pydantic_annotation import as_query
class Test_itemModel(BaseModel):
"""
测试单元表对应pydantic模型
"""
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
id: Optional[int] = Field(default=None, description='ID')
name: Optional[str] = Field(default=None, description='名称')
test_category_id: Optional[int] = Field(default=None, description='测试类别ID')
test_category_name: Optional[str] = Field(default=None, description='测试类别名称')
eut_type_id: Optional[int] = Field(default=None, description='产品类别ID')
eut_type_name: Optional[str] = Field(default=None, description='产品类别名称')
config_json: Optional[str] = Field(default=None, description='模板JSON')
memo: Optional[str] = Field(default=None, description='备注说明')
update_by: Optional[int] = Field(default=None, description='更新者')
update_time: Optional[datetime] = Field(default=None, description='修改时间')
@NotBlank(field_name='name', message='名称不能为空')
def get_name(self):
return self.name
@NotBlank(field_name='test_category_id', message='测试类别ID不能为空')
def get_test_category_id(self):
return self.test_category_id
@NotBlank(field_name='eut_type_id', message='产品类别ID不能为空')
def get_eut_type_id(self):
return self.eut_type_id
def validate_fields(self):
self.get_name()
self.get_test_category_id()
self.get_eut_type_id()
class Test_itemQueryModel(Test_itemModel):
"""
测试单元不分页查询模型
"""
pass
@as_query
class Test_itemPageQueryModel(Test_itemQueryModel):
"""
测试单元分页查询模型
"""
page_num: int = Field(default=1, description='当前页码')
page_size: int = Field(default=10, description='每页记录数')
class DeleteTest_itemModel(BaseModel):
"""
删除测试单元模型
"""
model_config = ConfigDict(alias_generator=to_camel)
ids: str = Field(description='需要删除的ID')