增加了分页查询,性别输入校验
This commit is contained in:
+16
-14
@@ -1,7 +1,8 @@
|
||||
from pydantic import BaseModel
|
||||
from datetime import date
|
||||
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||
from typing import Literal
|
||||
|
||||
#新建学生请求体
|
||||
class StudentCreate(BaseModel):
|
||||
student_no: str | None = Field(default=None, min_length=1, max_length=50)
|
||||
student_name: str = Field(min_length=1, max_length=50)
|
||||
@@ -14,7 +15,7 @@ class StudentCreate(BaseModel):
|
||||
graduation_date: date | None = None
|
||||
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)
|
||||
gender: Literal["男", "女"]
|
||||
|
||||
@model_validator(mode="after")
|
||||
def check_dates(self):
|
||||
@@ -23,18 +24,19 @@ class StudentCreate(BaseModel):
|
||||
raise ValueError("毕业日期不能早于入学日期")
|
||||
return self
|
||||
|
||||
#更新学生请求体
|
||||
class StudentUpdate(BaseModel):
|
||||
# 全部设为可选,前端只传需要修改的字段
|
||||
student_no: str | None = None
|
||||
student_name: str | None = None
|
||||
class_id: int | None = None
|
||||
consultant_id: int | None = None
|
||||
native_place: str | None = None
|
||||
graduation_school: str | None = None
|
||||
major: str | None = None
|
||||
enrollment_date: date | None = None
|
||||
graduation_date: date | None = None
|
||||
education: str | None = None
|
||||
age: int | None = None
|
||||
gender: str | None = 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: Literal["男", "女"] | None = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user