Files
1/scheme/wl_score_scheme.py
T

76 lines
1.9 KiB
Python
Raw Normal View History

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 EmploymentCreate(BaseModel):
stu_id: int
emp_open_time: date
offer_time: Optional[date] = None
company_name: Optional[str] = None
salary: Optional[float] = None
class EmploymentResp(EmploymentCreate):
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
# ----------------顾问----------------
class AdvisorCreate(BaseModel):
t_name: str
gender: Optional[str] = None
phone: Optional[str] = None
class AdvisorResp(AdvisorCreate):
advisor_id: int
class Config:
from_attributes = True