更新 schema/stu_schema.py

This commit is contained in:
2026-09-22 15:32:34 +08:00
parent 468b2968c5
commit b589557207
@@ -1,58 +1,58 @@
from typing import Optional,List
from pydantic import BaseModel,Field
from datetime import date
from model.student_model import Sex
##================ =====请求体===============
class StudentCreateRequest(BaseModel):
stu_id:str=Field(...,description="学生id")
class_id:Optional[str]=Field(None,description="学生班级id")
stu_name: str = Field(..., description="学生姓名")
native_place: Optional[str] = Field(None, description="籍贯")
graduate_school: Optional[str] = Field(None, description="毕业院校")
major: Optional[str] = Field(None, description="专业")
enroll_date: Optional[date] = Field(None, description="入学时间")
graduate_date: Optional[date] = Field(None, description="毕业时间")
education: Optional[str] = Field(None, description="学历")
advisor_no: Optional[str] = Field(None, description="顾问编号")
age: Optional[int] = Field(None, ge=0, description="年龄,不能负数")
gender: Optional[Sex] = Field(None, description="性别")
class StudentUpdateRequest(BaseModel):
stu_id:Optional[str]=None#学生id
class_id: Optional[str] = None # 学生班级
stu_name: Optional[str] = None # 学生姓名
native_place: Optional[str] = None # 籍贯
graduate_school: Optional[str] = None # 毕业院校
major: Optional[str] = None # 专业
enroll_date: Optional[date] = None # 入学时间
graduate_date: Optional[date] = None # 毕业时间
education: Optional[str] = None # 学历
advisor_no: Optional[str] = None # 顾问编号
age: Optional[int] = Field(None, ge=0) # 年龄,不能负数
gender: Optional[Sex] = Field(None, description="性别") # 性别'''
class StudentQuery(BaseModel):
stu_id: Optional[str] = None # 学生编号筛选
stu_name: Optional[str] = None # 学生姓名筛选
class_id: Optional[str] = None # 班级筛选
page: int = Field(1, ge=1, description="页码,默认第1页")
page_size: int = Field(10, ge=1, le=100, description="每页条数,默认10条")
##=====================响应体===============
class StudentResponse(BaseModel):
stu_id: str# 学生编号
class_id: Optional[str]# 学生班级
stu_name: str# 学生姓名
native_place: Optional[str] # 籍贯
graduate_school: Optional[str] # 毕业院校
major: Optional[str]# 专业
enroll_date: Optional[date] # 入学时间
graduate_date: Optional[date] # 毕业时间
education: Optional[str] # 学历
advisor_no: Optional[str]# 顾问编号
age: Optional[int]# 年龄
gender: Optional[Sex] = Field(None, description="性别")# 性别
is_deleted: bool# 逻辑删除标记
# 分页列表响应体:查询学生列表时返回
class StudentPageResponse(BaseModel):
total: int# 符合条件的总记录数
page: int# 当前页码
page_size: int# 每页数据条数
from typing import Optional,List
from pydantic import BaseModel,Field
from datetime import date
from model.student_model import Sex
##================ =====请求体===============
class StudentCreateRequest(BaseModel):
stu_id:str=Field(...,description="学生id")
class_id:Optional[str]=Field(None,description="学生班级id")
stu_name: str = Field(..., description="学生姓名")
native_place: Optional[str] = Field(None, description="籍贯")
graduate_school: Optional[str] = Field(None, description="毕业院校")
major: Optional[str] = Field(None, description="专业")
enroll_date: Optional[date] = Field(None, description="入学时间")
graduate_date: Optional[date] = Field(None, description="毕业时间")
education: Optional[str] = Field(None, description="学历")
advisor_no: Optional[str] = Field(None, description="顾问编号")
age: Optional[int] = Field(None, ge=0, description="年龄,不能负数")
gender: Optional[Sex] = Field(None, description="性别")
class StudentUpdateRequest(BaseModel):
stu_id:Optional[str]=None#学生id
class_id: Optional[str] = None # 学生班级
stu_name: Optional[str] = None # 学生姓名
native_place: Optional[str] = None # 籍贯
graduate_school: Optional[str] = None # 毕业院校
major: Optional[str] = None # 专业
enroll_date: Optional[date] = None # 入学时间
graduate_date: Optional[date] = None # 毕业时间
education: Optional[str] = None # 学历
advisor_no: Optional[str] = None # 顾问编号
age: Optional[int] = Field(None, ge=0) # 年龄,不能负数
gender: Optional[Sex] = Field(None, description="性别") # 性别'''
class StudentQuery(BaseModel):
stu_id: Optional[str] = None # 学生编号筛选
stu_name: Optional[str] = None # 学生姓名筛选
class_id: Optional[str] = None # 班级筛选
page: int = Field(1, ge=1, description="页码,默认第1页")
page_size: int = Field(10, ge=1, le=100, description="每页条数,默认10条")
##=====================响应体===============
class StudentResponse(BaseModel):
stu_id: str# 学生编号
class_id: Optional[str]# 学生班级
stu_name: str# 学生姓名
native_place: Optional[str] # 籍贯
graduate_school: Optional[str] # 毕业院校
major: Optional[str]# 专业
enroll_date: Optional[date] # 入学时间
graduate_date: Optional[date] # 毕业时间
education: Optional[str] # 学历
advisor_no: Optional[str]# 顾问编号
age: Optional[int]# 年龄
gender: Optional[Sex] = Field(None, description="性别")# 性别
is_deleted: bool# 逻辑删除标记
# 分页列表响应体:查询学生列表时返回
class StudentPageResponse(BaseModel):
total: int# 符合条件的总记录数
page: int# 当前页码
page_size: int# 每页数据条数
items: List[StudentResponse] # 当前页学生数据列表