From 8626f57db5b07f426339b98ee1e6e02e499f49d8 Mon Sep 17 00:00:00 2001 From: 00MSJ1122 <1253313142@qq.com> Date: Mon, 21 Sep 2026 09:39:28 +0800 Subject: [PATCH 01/11] text --- PythonProject/dao/student_dao.py | 49 ++++++++++++++++++++++++-- PythonProject/model/student_model.py | 8 ++--- PythonProject/schema/student_schema.py | 31 +++++++++++++++- 3 files changed, 80 insertions(+), 8 deletions(-) diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index b93a8ed..55d7dd5 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -1,6 +1,7 @@ from fastapi import HTTPException,Depends from util.database import get_db from model.student_model import Student_Model +from typing import List, Optional, Dict, Any def select_age(min_age,max_age,session=Depends(get_db)): try: @@ -17,9 +18,51 @@ def select_age(min_age,max_age,session=Depends(get_db)): except Exception: raise HTTPException(status_code=500,detail="查询异常") -def select_gender(gender,session=Depends(get_db)): - if gender is None and session is None: - return None +def delete_student_dao(stu_id,db): + try: + rows = db.query(Student_Model).filter(Student_Model.stu_id == stu_id).delete() + except: + db.rollback() + rows = 0 + else: + db.commit() + finally: + return rows +def update_student_dao(stu_id,update_data,db): + try: + rows = db.query( Student_Model ).filter( Student_Model.stu_id == stu_id ).update( update_data ) + except: + db.rollback() + return False + else: + db.commit() + return rows + +def get_student_dao(stu_id:Optional[int] + ,stu_name:Optional[str] + ,class_id:Optional[int] + ,db: Session + ,page: int + ,page_size: int + ) -> tuple[List[Dict[str, Any]], int]: + q = db.query(Student_Model) + if stu_id: + q = q.filter(Student_Model.stu_id == stu_id) + if stu_name: + q = q.filter(Student_Model.stu_name.like(f"%{stu_name}%")) + if class_id: + q= q.filter(Student_Model.class_id == class_id) + total = q.count() + r = q.offset((page - 1) * page_size).limit(page_size).all() + data = [] + for i in r: + data.append({'stu_id': i.stu_id + ,'stu_name': i.stu_name + ,'class_id': i.class_id + ,'create_date': i.create_date + ,'update_date': i.update_date + }) + return data, total diff --git a/PythonProject/model/student_model.py b/PythonProject/model/student_model.py index f631579..73dace8 100644 --- a/PythonProject/model/student_model.py +++ b/PythonProject/model/student_model.py @@ -8,10 +8,10 @@ class Student_Model(Base): , primary_key=True , autoincrement=True ,comment='学生编号') - # class_id=Column(Integer - # ,ForeignKey('wl_class.class_id') - # ,nullable=False - # ,comment='班级编号') + class_id=Column(Integer + ,ForeignKey('wl_class.class_id') + ,nullable=False + ,comment='班级编号') stu_name=Column(String(100),comment='学生姓名') age=Column(Integer,comment='年龄') gender=Column(String(50),comment='性别') diff --git a/PythonProject/schema/student_schema.py b/PythonProject/schema/student_schema.py index c950945..c4ca20d 100644 --- a/PythonProject/schema/student_schema.py +++ b/PythonProject/schema/student_schema.py @@ -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 From b45d16ff8e7b380682932374beea3f897dea0b43 Mon Sep 17 00:00:00 2001 From: wolin_chenyulin001 <123@163.com> Date: Mon, 21 Sep 2026 11:41:54 +0800 Subject: [PATCH 02/11] =?UTF-8?q?cyl=E5=B7=B2=E5=BB=BA=E7=AB=8B=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/api/employment_api.py | 0 PythonProject/dao/employment_dao.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 PythonProject/api/employment_api.py create mode 100644 PythonProject/dao/employment_dao.py diff --git a/PythonProject/api/employment_api.py b/PythonProject/api/employment_api.py new file mode 100644 index 0000000..e69de29 diff --git a/PythonProject/dao/employment_dao.py b/PythonProject/dao/employment_dao.py new file mode 100644 index 0000000..e69de29 From 1837764dd26057eae017d5c39e464d954b06d794 Mon Sep 17 00:00:00 2001 From: 00MSJ1122 <1253313142@qq.com> Date: Mon, 21 Sep 2026 11:43:34 +0800 Subject: [PATCH 03/11] text --- PythonProject/api/student_api.py | 41 ++++++++++++++++++++++++++++---- PythonProject/dao/student_dao.py | 39 ++++++++++++++++++++---------- 需求文档.md | 8 +++---- 3 files changed, 68 insertions(+), 20 deletions(-) diff --git a/PythonProject/api/student_api.py b/PythonProject/api/student_api.py index b71aafc..db947bf 100644 --- a/PythonProject/api/student_api.py +++ b/PythonProject/api/student_api.py @@ -1,11 +1,44 @@ -from fastapi import APIRouter -from dao.student_dao import select_age +from fastapi import APIRouter,Depends,HTTPException from schema.student_schema import StudentResponse +from dao.student_dao import delete_student_dao,add_student_dao,update_student_dao,get_student_dao,select_age +from schema.student_schema import StudentRequest,StudentResponse +from model.student_model import Student_Model +from util.database import get_db -studentapi = APIRouter() -@studentapi.get("/age",response_model=StudentResponse,tags=['统计分析模块'],description='根据年龄查询学生信息') +StudentAPI = APIRouter() + +@StudentAPI.get("/age",response_model=StudentResponse,tags=['统计分析模块'],description='根据年龄查询学生信息') def get_students(min_age:int|None=None,max_age:int|None=None): l = select_age(min_age,max_age) return [i for i in l] +@StudentAPI.get('',description='查询学生信息') +def get_students(stu_id:int|None=None + ,stu_name:str|None=None + ,class_id:int|None=None + ,db=Depends(get_db) + ,page:int=1 + ,page_size:int=10): + r=get_student_dao(stu_id,stu_name,class_id,db,page,page_size) + if r: + return r + raise HTTPException(status_code=404,detail='学生不存在') + +@StudentAPI.put('/{stu_id}') +def update_orders(s:StudentRequest,stu_id:int,db=Depends(get_db)): + d = s.model_dump(exclude_unset=True) + r = update_student_dao( stu_id=stu_id,update_data=d,db=db ) + if not r: + raise HTTPException(status_code=500, detail='没有更新!') + return {'code':200,'totals':r,'detail':'更新成功'} + +@StudentAPI.delete('/{stu_id}') +def del_student(stu_id:int,db=Depends(get_db)): + rows=delete_student_dao( stu_id=stu_id,db=db ) + if not rows: + raise HTTPException(status_code=500,detail='没有删除') + return {'code':200,'totals':rows,'detail':'删除成功'} + + + diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index 55d7dd5..9806925 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -9,29 +9,44 @@ def select_age(min_age,max_age,session=Depends(get_db)): raise HTTPException(status_code=400, detail="请至少传入一个参数") session = session.query(Student_Model) if min_age is not None: - session = session.filter(Student_Model.age >= min_age) + session = session.filter(Student_Model.age >= min_age,Student_Model.delete_status == 0) if max_age is not None: - session = session.filter(Student_Model.age <= max_age) + session = session.filter(Student_Model.age <= max_age,Student_Model.delete_status == 0) return session.all() except HTTPException: raise except Exception: raise HTTPException(status_code=500,detail="查询异常") -def delete_student_dao(stu_id,db): +def add_student_dao(o,db=Depends(get_db)): try: - rows = db.query(Student_Model).filter(Student_Model.stu_id == stu_id).delete() + r = db.query(Student_Model).filter(Student_Model.stu_id == o['stu_id'],Student_Model.delete_status == 0).all() + if not r: + o1 = Student_Model( **o) + db.add(o1) + else: + raise ValueError + except: + db.rollback() + return False + else: + db.commit() + return True + +def delete_student_dao(stu_id,db=Depends(get_db)): + try: + rows = db.query(Student_Model).filter(Student_Model.stu_id == stu_id,Student_Model.delete_status == 0).delete() + Student_Model.delete_status = 1 + db.commit() except: db.rollback() rows = 0 - else: - db.commit() finally: return rows -def update_student_dao(stu_id,update_data,db): +def update_student_dao(stu_id,update_data,db=Depends(get_db)): try: - rows = db.query( Student_Model ).filter( Student_Model.stu_id == stu_id ).update( update_data ) + rows = db.query( Student_Model ).filter( Student_Model.stu_id == stu_id,Student_Model.delete_status == 0).update( update_data ) except: db.rollback() return False @@ -42,17 +57,17 @@ def update_student_dao(stu_id,update_data,db): def get_student_dao(stu_id:Optional[int] ,stu_name:Optional[str] ,class_id:Optional[int] - ,db: Session ,page: int ,page_size: int + ,db=Depends(get_db) ) -> tuple[List[Dict[str, Any]], int]: q = db.query(Student_Model) if stu_id: - q = q.filter(Student_Model.stu_id == stu_id) + q = q.filter(Student_Model.stu_id == stu_id,Student_Model.delete_status == 0) if stu_name: - q = q.filter(Student_Model.stu_name.like(f"%{stu_name}%")) + q = q.filter(Student_Model.stu_name.like(f"%{stu_name}%"),Student_Model.delete_status == 0) if class_id: - q= q.filter(Student_Model.class_id == class_id) + q= q.filter(Student_Model.class_id == class_id,Student_Model.delete_status == 0) total = q.count() r = q.offset((page - 1) * page_size).limit(page_size).all() data = [] diff --git a/需求文档.md b/需求文档.md index 7b3b79e..c8bef6f 100644 --- a/需求文档.md +++ b/需求文档.md @@ -23,10 +23,10 @@ dao层(每一个功能就是一个函数,判断能否功能复用) 通用模块 学生模块 -实现增加学生的功能 **xxx 做成中** -实现查询学生的功能:需要能进行多条件查询 **xxx 做成中** -实现更新学生信息的功能 **xxx 做成中** -实现删除学生信息的功能 (更新删除状态这个列,即软删除)**xxx 做成中** +实现增加学生的功能 **msj 做成中** +实现查询学生的功能:需要能进行多条件查询 **msj 做成中** +实现更新学生信息的功能 **msj 做成中** +实现删除学生信息的功能 (更新删除状态这个列,即软删除)**msj 做成中** 成绩模块 实现增加学生成绩的功能 **hzl 做成中** From c322688260276e03f97a4dcc38d914968aae0c5d Mon Sep 17 00:00:00 2001 From: 0919word <835535015@qq.com> Date: Mon, 21 Sep 2026 11:45:47 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E8=92=8B=E7=AB=8B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/cla_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PythonProject/model/cla_model.py b/PythonProject/model/cla_model.py index 3371f7e..2ba1346 100644 --- a/PythonProject/model/cla_model.py +++ b/PythonProject/model/cla_model.py @@ -1,5 +1,5 @@ -from sqlalchemy import DateTime,Date,Column,Integer,ForeignKey,Boolean,String +from sqlalchemy import DateTime,Date,Column,Integer,ForeignKey,String from util.database import Base,engine class ClassManagement(Base): From 3df28d07ffab01b7868b36851eeaa38be6755707 Mon Sep 17 00:00:00 2001 From: test1 Date: Mon, 21 Sep 2026 11:46:12 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E9=A9=AC=E7=9D=BF=E6=99=BA=E7=89=9B?= =?UTF-8?q?=E9=80=BC=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/dao/teacher_dao.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PythonProject/dao/teacher_dao.py b/PythonProject/dao/teacher_dao.py index c02a3f7..f62f101 100644 --- a/PythonProject/dao/teacher_dao.py +++ b/PythonProject/dao/teacher_dao.py @@ -16,7 +16,7 @@ def add_teacher(req:Teacher_RequestModel,session=Depends(get_db)): def select_teacher(session=Depends(get_db)): try: - teacher_list=session.query(Teacher_Model).all() + teacher_list=session.query(Teacher_Model).filter(delete_status=0).all() return teacher_list except: raise HTTPException(status_code=500,detail="查询异常!") @@ -24,14 +24,16 @@ def select_teacher(session=Depends(get_db)): def update_teacher(id:int,req:Teacher_RequestModel,session=Depends(get_db)): try: session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ - .update(req.model_dump(exclude_unset=True)) + .filter(delete_status=0).update(req.model_dump(exclude_unset=True)) session.commit() except: raise HTTPException(status_code=500,detail="更新异常!") def delete_teacher(id:int,session=Depends(get_db)): try: - session.query(Teacher_Model).filter(Teacher_Model.teac_id==id).delete() + session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ + .update(delete_status=1).delete() + session.commit() except: raise HTTPException(status_code=500,detail="删除异常") From 9a064751eae843067e5621c66aed03d0ac25112d Mon Sep 17 00:00:00 2001 From: 0919word <835535015@qq.com> Date: Mon, 21 Sep 2026 11:48:38 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E8=92=8B=E7=AB=8B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/cla_model.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PythonProject/model/cla_model.py b/PythonProject/model/cla_model.py index 2ba1346..de1328b 100644 --- a/PythonProject/model/cla_model.py +++ b/PythonProject/model/cla_model.py @@ -19,8 +19,7 @@ class ClassManagement(Base): update_date = Column(DateTime,comment='更新时间') - delete_status = Column( - Integer,default=0,comment='删除状态:0未删除,1已删除') + delete_status = Column(Integer,default=0,comment='删除状态:0未删除,1已删除') delete_time = Column(DateTime, nullable=True, comment='删除时间') From 3f37e642d9401d0d764a25abc4aa3cba31ca98e9 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Mon, 21 Sep 2026 11:51:37 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/cla_model.py | 10 +++++----- PythonProject/model/employment_model.py | 2 ++ PythonProject/model/grade_model.py | 9 +++++---- PythonProject/model/student_model.py | 2 ++ PythonProject/model/teacher_model.py | 2 ++ PythonProject/schema/teacher_schema.py | 2 -- 6 files changed, 16 insertions(+), 11 deletions(-) diff --git a/PythonProject/model/cla_model.py b/PythonProject/model/cla_model.py index 2ba1346..2a95cec 100644 --- a/PythonProject/model/cla_model.py +++ b/PythonProject/model/cla_model.py @@ -1,6 +1,6 @@ - -from sqlalchemy import DateTime,Date,Column,Integer,ForeignKey,String +from sqlalchemy import DATETIME,Date,Column,Integer,ForeignKey,String from util.database import Base,engine +from datetime import datetime class ClassManagement(Base): __tablename__ = "wl_class" @@ -15,14 +15,14 @@ class ClassManagement(Base): class_teacher_id = Column(Integer,ForeignKey('wl_teacher.id'),comment='授课教师') - Entry_date= Column(DateTime,comment='录入时间') + Entry_date= Column(DATETIME,default=datetime.now,comment='录入时间') - update_date = Column(DateTime,comment='更新时间') + update_date = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='更新时间') delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') - delete_time = Column(DateTime, nullable=True, comment='删除时间') + delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') Base.metadata.create_all(engine) diff --git a/PythonProject/model/employment_model.py b/PythonProject/model/employment_model.py index 5d1abe3..e5930f8 100644 --- a/PythonProject/model/employment_model.py +++ b/PythonProject/model/employment_model.py @@ -56,4 +56,6 @@ class Employment_info(Base): delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') + delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') + Base.metadata.create_all(engine) \ No newline at end of file diff --git a/PythonProject/model/grade_model.py b/PythonProject/model/grade_model.py index 50856a3..a1235e1 100644 --- a/PythonProject/model/grade_model.py +++ b/PythonProject/model/grade_model.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Integer, Numeric, DateTime,ForeignKey +from sqlalchemy import Column, Integer, Numeric, DATETIME,ForeignKey from datetime import datetime from util.database import Base,engine @@ -24,12 +24,12 @@ class WlScore(Base): score=Column(Numeric(5, 2) , comment="成绩") - create_time = Column(DateTime + create_time = Column(DATETIME , nullable=False , default=datetime.now , comment="作成时间") - update_time = Column(DateTime + update_time = Column(DATETIME , nullable=False , default=datetime.now , onupdate=datetime.now @@ -38,5 +38,6 @@ class WlScore(Base): delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') -Base.metadata.create_all(engine) + delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') +Base.metadata.create_all(engine) diff --git a/PythonProject/model/student_model.py b/PythonProject/model/student_model.py index d44ebe5..1a11e87 100644 --- a/PythonProject/model/student_model.py +++ b/PythonProject/model/student_model.py @@ -47,4 +47,6 @@ class Student_Model(Base): delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') + delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') + Base.metadata.create_all(engine) diff --git a/PythonProject/model/teacher_model.py b/PythonProject/model/teacher_model.py index d91c4a3..257366d 100644 --- a/PythonProject/model/teacher_model.py +++ b/PythonProject/model/teacher_model.py @@ -22,5 +22,7 @@ class Teacher_Model(Base): delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') + delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') + Base.metadata.create_all(engine) diff --git a/PythonProject/schema/teacher_schema.py b/PythonProject/schema/teacher_schema.py index 79a6167..696276b 100644 --- a/PythonProject/schema/teacher_schema.py +++ b/PythonProject/schema/teacher_schema.py @@ -10,8 +10,6 @@ class Teacher_RequestModel(BaseModel): teac_position:str delete_status:int - - class Teacher_ResponseModel(BaseModel): code:int=200 detail:str='OK!' From c23d5aada74bd1900f7e6963a13aae044ee9a3d0 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Mon, 21 Sep 2026 11:55:05 +0800 Subject: [PATCH 08/11] mrz --- PythonProject/dao/teacher_dao.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/PythonProject/dao/teacher_dao.py b/PythonProject/dao/teacher_dao.py index f62f101..b624a12 100644 --- a/PythonProject/dao/teacher_dao.py +++ b/PythonProject/dao/teacher_dao.py @@ -16,7 +16,7 @@ def add_teacher(req:Teacher_RequestModel,session=Depends(get_db)): def select_teacher(session=Depends(get_db)): try: - teacher_list=session.query(Teacher_Model).filter(delete_status=0).all() + teacher_list=session.query(Teacher_Model).filter(Teacher_Model.delete_status==0).all() return teacher_list except: raise HTTPException(status_code=500,detail="查询异常!") @@ -24,17 +24,16 @@ def select_teacher(session=Depends(get_db)): def update_teacher(id:int,req:Teacher_RequestModel,session=Depends(get_db)): try: session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ - .filter(delete_status=0).update(req.model_dump(exclude_unset=True)) + .filter(Teacher_Model.delete_status==0).update(req.model_dump(exclude_unset=True)) session.commit() except: raise HTTPException(status_code=500,detail="更新异常!") def delete_teacher(id:int,session=Depends(get_db)): try: - session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ - .update(delete_status=1).delete() - + session.query(Teacher_Model).filter(Teacher_Model.teac_id==id,Teacher_Model.delete_status==0)\ + .update({'delete_status':1}) session.commit() except: raise HTTPException(status_code=500,detail="删除异常") - return {'code':200,'details':'删除成功'} \ No newline at end of file + return {'code':200,'details':'删除成功'} From eb56d26b36c69226d09ea27c88a320a7d8b302de Mon Sep 17 00:00:00 2001 From: wolin_chenyulin001 <123@163.com> Date: Mon, 21 Sep 2026 12:03:26 +0800 Subject: [PATCH 09/11] =?UTF-8?q?cyl=E5=BB=BA=E7=AB=8B=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/schema/employment_schema.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 PythonProject/schema/employment_schema.py diff --git a/PythonProject/schema/employment_schema.py b/PythonProject/schema/employment_schema.py new file mode 100644 index 0000000..e69de29 From 1128627c00a111e5ca8963bba48b259a556703ab Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Mon, 21 Sep 2026 12:10:19 +0800 Subject: [PATCH 10/11] mrz --- PythonProject/dao/student_dao.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index 9806925..ab173e9 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -20,12 +20,8 @@ def select_age(min_age,max_age,session=Depends(get_db)): def add_student_dao(o,db=Depends(get_db)): try: - r = db.query(Student_Model).filter(Student_Model.stu_id == o['stu_id'],Student_Model.delete_status == 0).all() - if not r: - o1 = Student_Model( **o) - db.add(o1) - else: - raise ValueError + o1 = Student_Model( **o) + db.add(o1) except: db.rollback() return False @@ -35,8 +31,8 @@ def add_student_dao(o,db=Depends(get_db)): def delete_student_dao(stu_id,db=Depends(get_db)): try: - rows = db.query(Student_Model).filter(Student_Model.stu_id == stu_id,Student_Model.delete_status == 0).delete() - Student_Model.delete_status = 1 + rows = db.query(Student_Model).filter(Student_Model.stu_id == stu_id,Student_Model.delete_status == 0)\ + .update({'delete_status':1}) db.commit() except: db.rollback() From 27c4c6b24076eef410d55596ae489d9be5b8d838 Mon Sep 17 00:00:00 2001 From: 0919word <835535015@qq.com> Date: Mon, 21 Sep 2026 12:22:27 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E8=92=8B=E7=AB=8B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/schema/cla_schema.py | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 PythonProject/schema/cla_schema.py diff --git a/PythonProject/schema/cla_schema.py b/PythonProject/schema/cla_schema.py new file mode 100644 index 0000000..5d64fcb --- /dev/null +++ b/PythonProject/schema/cla_schema.py @@ -0,0 +1,34 @@ +from datetime import date +from pydantic import BaseModel +from sqlalchemy import DATETIME + +class claRequest(BaseModel): + + class_name : str|None = None + + start_class_date :date + + head_teacher_id : int|None = None + + class_teacher_id : int|None = None + + Entry_date : DATETIME + + update_date : DATETIME + + delete_status : int|None = None + + delete_time : DATETIME + +class claResponse(BaseModel): + + code:int = 200 + + detail:str = 'ok' + + class_name = str + + head_teacher_id = int + + class_teacher_id = int +