删除了文档
This commit is contained in:
@@ -22,3 +22,4 @@ def create_students(d: dict, db: Session):
|
||||
print(f"插入学生失败: {e}")
|
||||
return None
|
||||
|
||||
# def updet_students():
|
||||
+2
-1
@@ -10,7 +10,8 @@ class Student(Base):
|
||||
, comment = '学生编号,自增主键'
|
||||
)
|
||||
student_no = Column(VARCHAR(50)
|
||||
,nullable = True)
|
||||
,nullable = True
|
||||
,unique = True)
|
||||
student_name = Column(VARCHAR(50))
|
||||
class_id = Column(Integer
|
||||
,ForeignKey('class_info_detail.id')
|
||||
|
||||
+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