上传文件至「schema」
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
from pydantic import BaseModel,Field,ConfigDict
|
||||
from datetime import datetime
|
||||
class ClassRequest(BaseModel): #定义更新班级信息的请求体
|
||||
class_id: str = Field(...,)
|
||||
class_name: str = Field(...,)
|
||||
ht_id: int = Field(...)
|
||||
t_id: int = Field(...)
|
||||
start_time: datetime = Field(...)
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
class ClassCreate(ClassRequest):
|
||||
pass
|
||||
class ClassUpdate(ClassRequest):
|
||||
pass
|
||||
class ClassResponse(BaseModel): #定义响应体
|
||||
code:int = 200
|
||||
detail:str ='OK'
|
||||
totals:int = 0
|
||||
data:ClassRequest | None = None #原来的写法str | dict | list | tuple 这几种类型里,
|
||||
#一个都匹配不上路由里传的ORM对象result(Class类的实例),所以报错500
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
class EmploymentRequest(BaseModel):
|
||||
stu_id: str|None = None
|
||||
class_name: str|None = None
|
||||
company: Optional[str] = None
|
||||
salary: Optional[int] = None
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
from pydantic import BaseModel
|
||||
class Test(BaseModel):
|
||||
stu_id:int
|
||||
exam_seq:int
|
||||
score:float
|
||||
@@ -0,0 +1,62 @@
|
||||
from typing import Optional,List
|
||||
from pydantic import BaseModel,Field
|
||||
from datetime import date
|
||||
from model.stu_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):
|
||||
id: int
|
||||
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 Config:
|
||||
from_attributes = True
|
||||
|
||||
class StudentPageResponse(BaseModel):
|
||||
total: int# 符合条件的总记录数
|
||||
page: int# 当前页码
|
||||
page_size: int# 每页数据条数
|
||||
items: List[StudentResponse] # 当前页学生数据列表
|
||||
@@ -0,0 +1,17 @@
|
||||
from pydantic import BaseModel,Field
|
||||
from model.th_model import Sex
|
||||
|
||||
|
||||
class RequestModel(BaseModel):
|
||||
t_id : int
|
||||
t_name: str=Field(min_length=2,max_length=20)
|
||||
t_sex:Sex
|
||||
t_age: int=Field(gt=0,description='年龄大于0')
|
||||
t_phone: str=Field(min_length=11,description='电话号码')
|
||||
class_id: str
|
||||
|
||||
class ResponseModel(BaseModel):
|
||||
code: int = 200
|
||||
msg: str = '操作成功'
|
||||
total: int = 0
|
||||
data: list=Field(default=[])
|
||||
Reference in New Issue
Block a user