删除了文档
This commit is contained in:
+32
-10
@@ -1,18 +1,40 @@
|
||||
from pydantic import BaseModel
|
||||
from datetime import date
|
||||
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||
|
||||
class StudentCreate(BaseModel):
|
||||
student_no:str|None = None
|
||||
student_name: str
|
||||
class_id: int
|
||||
consultant_id: int | None = None
|
||||
native_place: str | None = None
|
||||
graduation_school: str | None = None
|
||||
major: str | None = None
|
||||
student_no: str | None = Field(default=None, min_length=1, max_length=50)
|
||||
student_name: str = Field(min_length=1, max_length=50)
|
||||
class_id: int = Field(gt=0)
|
||||
consultant_id: int | None = Field(default=None, gt=0)
|
||||
native_place: str | None = Field(default=None, max_length=100)
|
||||
graduation_school: str | None = Field(default=None, max_length=100)
|
||||
major: str | None = Field(default=None, max_length=100)
|
||||
enrollment_date: date
|
||||
graduation_date: date | None = None
|
||||
education: str | None = None
|
||||
age: int
|
||||
gender: str
|
||||
education: str | None = Field(default=None, max_length=50)
|
||||
age: int = Field(ge=0, le=150)
|
||||
gender: str = Field(min_length=1, max_length=10)
|
||||
|
||||
@model_validator(mode="after")
|
||||
def check_dates(self):
|
||||
# 3. 新增时两个日期都已确定,可以直接校验先后顺序。
|
||||
if self.graduation_date and self.graduation_date < self.enrollment_date:
|
||||
raise ValueError("毕业日期不能早于入学日期")
|
||||
return self
|
||||
|
||||
class StudentUpdate(BaseModel):
|
||||
# 1. 默认值为 None 是为了允许省略字段,不代表每个字段都能清空。
|
||||
student_no: str | None = Field(default=None, min_length=1, max_length=50)
|
||||
student_name: str | None = Field(default=None, min_length=1, max_length=50)
|
||||
class_id: int | None = Field(default=None, gt=0)
|
||||
consultant_id: int | None = Field(default=None, gt=0)
|
||||
native_place: str | None = Field(default=None, max_length=100)
|
||||
graduation_school: str | None = Field(default=None, max_length=100)
|
||||
major: str | None = Field(default=None, max_length=100)
|
||||
enrollment_date: date | None = None
|
||||
graduation_date: date | None = None
|
||||
education: str | None = Field(default=None, max_length=50)
|
||||
age: int | None = Field(default=None, ge=0, le=150)
|
||||
gender: str | None = Field(default=None, min_length=1, max_length=10)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user