This commit is contained in:
msj
2026-09-21 18:04:38 +08:00
parent 9b4e3cfe06
commit e5c2284ad1
3 changed files with 74 additions and 52 deletions
+31 -15
View File
@@ -1,5 +1,5 @@
from datetime import date
from typing import Self
from typing import Self,List
from pydantic import BaseModel, field_serializer, field_validator,model_validator
@@ -10,12 +10,12 @@ class StudentRequest(BaseModel):
age:int |None = None
gender:str |None = None
native_place:str |None = None
birthday:date
birthday:date |None = None
school:str |None = None
major:str |None = None
degree:str |None = None
admission_date:date
graduation_date:date
admission_date:date |None = None
graduation_date:date |None = None
@field_validator('age')
@classmethod
def check_age(cls, v):
@@ -51,16 +51,32 @@ class StudentResponse(BaseModel):
class StugetResponse(BaseModel):
code:int = 200
detail:str = 'ok'
class_id: int | None = None
stu_name: str | None = None
age: int | None = None
gender: str | None = None
native_place: str | None = None
birthday: date | None = None
school: str | None = None
major: str | None = None
degree: str | None = None
admission_date: date | None = None
graduation_date: date | None = None
progress: int = 0
@field_serializer('progress')
def int_to_string(cls, progress: int):
d1 = {
0: '学习中',
1: '求职中',
2: '已就业'
}
return d1.get(progress, '暂不明确')
class StudentPageResponse(BaseModel):
code: int = 200
detail: str = "ok"
page: int
page_size: int
class_id: int
stu_name: str
age: int
gender: str
native_place: str
birthday: date
school: str
major: str
degree: str
admission_date: date
graduation_date: date
total: int
data: List[StugetResponse]