diff --git a/PythonProject/model/all_model.py b/PythonProject/model/all_model.py index 9743859..cd68351 100644 --- a/PythonProject/model/all_model.py +++ b/PythonProject/model/all_model.py @@ -1,4 +1,4 @@ -from sqlalchemy import DATETIME,Column,Integer,String,DATE,ForeignKey,Numeric +from sqlalchemy import DATETIME,Column,Integer,String,DATE,ForeignKey,Numeric,UniqueConstraint from datetime import datetime from util.database import Base,engine diff --git a/PythonProject/schema/grade_schema.py b/PythonProject/schema/grade_schema.py index 4d89cd4..a381ab9 100644 --- a/PythonProject/schema/grade_schema.py +++ b/PythonProject/schema/grade_schema.py @@ -1,5 +1,5 @@ -from pydantic import BaseModel, Field +from pydantic import BaseModel, Field, field_validator class GradeRequest(BaseModel): @@ -7,6 +7,18 @@ class GradeRequest(BaseModel): exam_order:int = Field(description='考核序次') score:float = Field(description='成绩') + @field_validator("score") + def check_score(cls, v): + if not (0 <= v <= 100): + raise ValueError("成绩必须在0~100之间") + return v + + @field_validator("exam_order") + def check_exam_order(cls, v): + if v <= 0: + raise ValueError("考核序次必须大于0") + return v + class GradeResponse(BaseModel): code: int = 200 detail: str = 'OK'