From 334bb237b279fe67c9c6f61c313ba0a95c0f43be Mon Sep 17 00:00:00 2001 From: geyuan <2732801331@qq.com> Date: Tue, 22 Sep 2026 22:32:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E6=8F=90=E4=BA=A4=E4=B8=8D=E4=B8=8A?= =?UTF-8?q?=E7=9A=84bud?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Teachers/api/tea_api.py | 4 ++-- Teachers/dao/tea_dao.py | 10 ++++++---- Teachers/database.py | 1 + Teachers/model/tea_model.py | 3 --- Teachers/schema/tea_request.py | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Teachers/api/tea_api.py b/Teachers/api/tea_api.py index 4b3b7de..26715bb 100644 --- a/Teachers/api/tea_api.py +++ b/Teachers/api/tea_api.py @@ -11,7 +11,7 @@ tea_api = APIRouter() @tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空') def add_tea(tea: NewTeaRequest=Depends(),db=Depends(get_db)): - r = add_tea_dao(tea.model_dump(),db) + r = add_tea_dao(tea.model_dump(exclude_unset=True),db) if not r: raise HTTPException(status_code=500,detail='添加失败!') return TeaResponse(totals=1,data=tea.model_dump()) @@ -48,7 +48,7 @@ def delete_other_tea_dao1(t:TeaRequest=Depends(),db=Depends(get_db)): @tea_api.post('/subject',summary='新增科目',description='输入新增的科目') def add_sub(t:SubRequest=Depends(),db=Depends(get_db)): #开启会话窗口 r = add_subject_dao(t.model_dump(),db=db) - if not r: + if r=='已存在': raise HTTPException(status_code=500,detail='科目已存在') return TeaResponse(totals=len(r), data=r) diff --git a/Teachers/dao/tea_dao.py b/Teachers/dao/tea_dao.py index 4a53331..0b3e152 100644 --- a/Teachers/dao/tea_dao.py +++ b/Teachers/dao/tea_dao.py @@ -128,15 +128,17 @@ def add_subject_dao(t,db): try: t1 = db.query(Sub).filter(Sub.name == t.get('name')).first() if t1: - print('科目已存在') - raise Exception('科目已存在') + return'已存在' s1 = Sub(**t) db.add(s1) db.commit() - return '添加成功' - except Exception as e: + return '[s1]' + except InterruptedError as e: db.rollback() print('失败的原因',e) return False + except Exception as e: + db.rollback() + return f'{e}' diff --git a/Teachers/database.py b/Teachers/database.py index 7e17ed4..b985bdb 100644 --- a/Teachers/database.py +++ b/Teachers/database.py @@ -24,4 +24,5 @@ def get_db(): yield db finally: db.close() +#建表 Base.metadata.create_all(engine1) \ No newline at end of file diff --git a/Teachers/model/tea_model.py b/Teachers/model/tea_model.py index eb686ae..3f242f6 100644 --- a/Teachers/model/tea_model.py +++ b/Teachers/model/tea_model.py @@ -16,17 +16,14 @@ class Tea(Base_all): ,autoincrement=True ,comment='id') name = Column(String(50) - ,nullable=False ,comment='姓名') sex = Column(Enum(Gender),default='未知' ,comment='性别') class_id = Column(Integer - ,nullable=False ,comment='班级id') phone = Column(String(50)) subject_id = Column(Integer , ForeignKey('subject.id') - ,nullable=False ,comment='教学科目') home_place = Column(String(50) ,comment='家乡') diff --git a/Teachers/schema/tea_request.py b/Teachers/schema/tea_request.py index a6911ee..30cdce2 100644 --- a/Teachers/schema/tea_request.py +++ b/Teachers/schema/tea_request.py @@ -7,7 +7,7 @@ class TeaRequest(BaseModel): name: str|None = None sex: Gender|None = None class_id: int | None = None - sub: str|None = None + subject_id: str|None = None phone: str | None home_place: str|None = None collage: str|None = None @@ -22,7 +22,7 @@ class NewTeaRequest(BaseModel): name: str | None = None sex: Gender|None = None class_id: int | None = None - sub: str | None = None + subject_id: int | None = None home_place: str | None = None phone: str | None = Field(default=None, min_length=11, max_length=11) collage: str | None = None @@ -35,7 +35,7 @@ class NewTeaRequest1(BaseModel): name: str | None = None sex: Gender|None = None class_id: int | None = None - sub: str | None = None + subject_id: int | None = None home_place: str | None = None phone: str | None = Field(default=None, min_length=11, max_length=11) collage: str | None = None @@ -45,4 +45,4 @@ class NewTeaRequest1(BaseModel): specialty: str | None = None class SubRequest(BaseModel): - name: str | None = None \ No newline at end of file + name: str \ No newline at end of file