首次
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from datetime import date
|
||||
from typing import Optional, List
|
||||
|
||||
# ----------------学生----------------
|
||||
class StudentCreate(BaseModel):
|
||||
stu_name: str
|
||||
native_place: Optional[str] = None
|
||||
graduate_school: Optional[str] = None
|
||||
major: Optional[str] = None
|
||||
in_time: Optional[date] = None
|
||||
out_time: Optional[date] = None
|
||||
edu: Optional[str] = None
|
||||
advisor_id: Optional[int] = None
|
||||
stu_age: Optional[int] = None
|
||||
stu_gender: Optional[str] = None
|
||||
|
||||
class StudentResp(StudentCreate):
|
||||
stu_id: int
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
# ----------------成绩----------------
|
||||
class ScoreCreate(BaseModel):
|
||||
stu_no: str
|
||||
exam_order: int
|
||||
score: float
|
||||
|
||||
class ScoreResp(ScoreCreate):
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
# 对外出参:成绩表现在直接用学号做主键,stu_no 就是表里的真实字段,
|
||||
# 查到 ORM 对象直接读出来即可,不需要额外挂展示字段。
|
||||
class ScoreOut(BaseModel):
|
||||
stu_no: str
|
||||
exam_order: int
|
||||
score: float
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
# ----------------班级----------------
|
||||
class ClassCreate(BaseModel):
|
||||
start_time: Optional[date] = None
|
||||
|
||||
class ClassResp(ClassCreate):
|
||||
class_id: int
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
# ----------------老师----------------
|
||||
class TeacherCreate(BaseModel):
|
||||
t_name: str
|
||||
t_gender: Optional[str] = None
|
||||
t_email: Optional[str] = None
|
||||
class_id: Optional[int] = None
|
||||
role: Optional[str] = None
|
||||
|
||||
class TeacherResp(TeacherCreate):
|
||||
t_id: int
|
||||
class Config:
|
||||
from_attributes = True
|
||||
Reference in New Issue
Block a user