This commit is contained in:
maruizhi
2026-09-21 09:54:25 +08:00
parent d0c63f7de8
commit def360eae6
3 changed files with 79 additions and 12 deletions
+30 -3
View File
@@ -1,4 +1,33 @@
from pydantic import BaseModel,field_serializer
from datetime import date
from typing import Self
from pydantic import BaseModel, field_serializer, field_validator,model_validator
class StudentRequest(BaseModel):
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
school:str |None = None
major:str |None = None
degree:str |None = None
admission_date:date
graduation_date:date
@field_validator('age')
@classmethod
def check_age(cls, v):
if v is not None and v < 0:
raise ValueError('年龄不能为负数')
return v
@model_validator(mode='after')
def check_admission_graduation(self) -> Self:
if self.admission_date and self.graduation_date:
if self.admission_date > self.graduation_date:
raise ValueError ('入学日期不能晚于毕业日期')
return self
class StudentResponse(BaseModel):
code:int = 200
@@ -16,5 +45,3 @@ class StudentResponse(BaseModel):
2:'已就业'
}
return d1.get(progress,'暂不明确')