54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
from pydantic import BaseModel
|
|||
|
|
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_id: int
|
||
|
|
exam_order: int
|
||
|
|
score: float
|
||
|
|
|
||
|
|
class ScoreResp(ScoreCreate):
|
||
|
|
class Config:
|
||
|
|
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
|