This commit is contained in:
2026-09-22 13:54:00 +08:00
parent 4460a16848
commit 273bee1ea2
6 changed files with 71 additions and 7 deletions
+12 -5
View File
@@ -11,11 +11,18 @@
3.教师信息的更新\
4.教师信息的逻辑删除\
**dao数据筛选文件**\
1.查询
2.新增
3.更新
4.逻辑删除
1.查询 get_tea_dao:\
2.新增 add_tea_dao:\
3.更新 update_tea_dao:\
4.逻辑删除 delete_tea_dao:\
**tea_model数据库建表文件**\
字段名:id、name、sex、class_id、sub(学科)\
home_place specialty(专业)、start_time(入职时间)\
work_experience、collage、creat_date、update_date\
is_delete、delete_time\
**schema 请求体、响应体**\
请求体
响应体
*qingxie* \
***zhongdian***
+10
View File
@@ -34,3 +34,13 @@ def update_tea(id:int,tea:NewTeaRequest,db=Depends(get_db)):
if not r:
raise HTTPException(status_code=404,detail='老师不存在')
return {'detail':'更新成功'}
#根据任意信息删除
@tea_api.delete('/tea',summary='根据任意信息逻辑删除',description='输入任意信息删除')
def delete_other_tea_dao1(t:TeaRequest,db=Depends(get_db)):
row1 = delete_other_tea_dao(t.model_dump(exclude_unset=True),db)
if not row1:
raise HTTPException(status_code=404,detail='没有找到符合条件的老师')
return{'code':200,'data':row1}
+35
View File
@@ -67,4 +67,39 @@ def delete_tea_dao(id,db):
db.commit()
return row
def delete_other_tea_dao(t,db):
if not t:
return False
try:
query1 = db.query(Tea).filter(Tea.is_delete == False)
if t.get('id'):
query1 = query1.filter(Tea.id == t.get('id') )
if t.get('name'):
query1 = query1.filter(Tea.name == t.get('name') )
if t.get('sex'):
query1 = query1.filter(Tea.sex == t.get('sex'))
if t.get('class_id'):
query1 = query1.filter(Tea.class_id == t.get('class_id'))
if t.get('sub'):
query1 = query1.filter(Tea.sub == t.get('sub'))
if t.get('home_place'):
query1 = query1.filter(Tea.home_place == t.get('home_place'))
if t.get('collage'):
query1 = query1.filter(Tea.collage == t.get('collage'))
if t.get('education'):
query1 = query1.filter(Tea.education == t.get('education'))
if t.get('work_experience'):
query1 = query1.filter(Tea.work_experience == t.get('work_experience'))
if t.get('start_time'):
query1 = query1.filter(Tea.start_time == t.get('start_time'))
if t.get('specialty'):
query1 = query1.filter(Tea.specialty == t.get('specialty'))
row = query1.update({'is_delete':True,'delete_time':datetime.now()})
db.commit()
return row
except Exception as e:
db.rollback()
print('删除失败',e)
return '删除失败'
+10
View File
@@ -1,6 +1,16 @@
from sqlalchemy import *
from sqlalchemy.orm import sessionmaker,declarative_base
# 导入.env参数
import os
from dotenv import load_dotenv
load_dotenv( )
DB_USER = os.getenv("DB_USER", "root")
DB_PASSWORD = os.getenv("DB_PASSWORD", "")
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = os.getenv("DB_PORT", "3306")
DB_NAME = os.getenv("DB_NAME", "student_manage_system")
db_tea = 'mysql+pymysql://root:123456@127.0.0.1:3306/student_manage_system?charset=utf8mb4'
engine1 = create_engine(db_tea)
+3 -1
View File
@@ -1,6 +1,8 @@
from fastapi import FastAPI
from fastapi import FastAPI,APIRouter
from Teachers.model.tea_model import *
from api.tea_api import tea_api
Teachers_API = APIRouter()
app = FastAPI()
app.include_router(tea_api)
+1 -1
View File
@@ -16,7 +16,7 @@ class TeaRequest(BaseModel):
specialty: str|None = None
#更新、新增使用请求体(无法覆盖)
#更新、任意逻辑删除、新增使用请求体,没有自增键
class NewTeaRequest(BaseModel):
name: str | None = None
sex: Gender