完成了增加学生接口

This commit is contained in:
wolin_liyujie
2026-09-21 17:51:33 +08:00
parent 19b5ad46f7
commit 4d811348ac
6 changed files with 16 additions and 15 deletions
+4 -4
View File
@@ -1,14 +1,14 @@
from fastapi import APIRouter,Depends,HTTPException from fastapi import APIRouter,Depends,HTTPException
from sqlalchemy.orm import Session
from dao.student import * from dao.student import *
from schemas.student import StudentCreate from schemas.student import StudentCreate
from sqlalchemy.orm import Session
student_router = APIRouter() student_router = APIRouter()
@student_router.post("/student") @student_router.post("/student")
def create_student(request:StudentCreate,db:Session,create = Depends(create_students)): def create_student(request:StudentCreate,db:Session = Depends(get_db)):
d = request.model_dump() d = request.model_dump()
r = create_students(d,db) r = create_students(d,db)
if not r: if not r:
raise HTTPException(status_code=500,detail='服务器繁忙,请稍后添加!') raise HTTPException(status_code=500,detail='服务器繁忙,请稍后添加!')
return {'code':200,'detail':"添加学生成功"} return {'code':200,'detail':"添加学生成功"}
+5 -4
View File
@@ -1,16 +1,17 @@
from schemas.student import * from schemas.student import *
from fastapi import Depends
from core.database import get_db from core.database import get_db
from models.student import * from models.student import *
from utils.code_generator import generate_no from utils.code_generator import generate_no
from sqlalchemy.orm import Session
def create_students(d,db:Session = Depends(get_db)):
def create_students(d,db):
stu = Student(**d) stu = Student(**d)
try: try:
db.add(stu) db.add(stu)
generate_no("student_no", "STU", stu, db)
db.commit() db.commit()
except:return False except:
return False
else: else:
return True return True
+1 -1
View File
@@ -10,4 +10,4 @@ engine = create_engine(db_url
Base.metadata.create_all(engine) Base.metadata.create_all(engine)
db = SessionLocal() db = SessionLocal()
db.commit() db.commit() #创建全部表
+4 -4
View File
@@ -1,7 +1,7 @@
from fastapi import FastAPI from fastapi import FastAPI
from api.example import example_router from api.example import example_router
from middleware import log_middleware from middleware import log_middleware
from api.statistics import statistics_router # from api.statistics import statistics_router
import uvicorn import uvicorn
from api.student import student_router from api.student import student_router
app = FastAPI() app = FastAPI()
@@ -12,14 +12,14 @@ from api.class_api import classes_router
app.include_router(classes_router,tags=['班级接口'],prefix="/classes") app.include_router(classes_router,tags=['班级接口'],prefix="/classes")
#-------------李玉杰-------------- #-------------李玉杰--------------
app.include_router(student_router) app.include_router(student_router,tags=['学生接口'])
#-------------张义--------------- #-------------张义---------------
#-------------薄鑫--------------- #-------------薄鑫---------------
#-------------张昕浩--------------- #-------------张昕浩---------------
app.include_router(example_router) # app.include_router(example_router)
app.include_router(statistics_router, prefix="/statistics") # app.include_router(statistics_router, prefix="/statistics")
#-------------曾凯--------------- #-------------曾凯---------------
+1 -1
View File
@@ -7,7 +7,7 @@ class StudentCreate(BaseModel):
class_id: int class_id: int
consultant_id: int | None = None consultant_id: int | None = None
native_place: str | None = None native_place: str | None = None
graduate_school: str | None = None graduation_school: str | None = None
major: str | None = None major: str | None = None
enrollment_date: date enrollment_date: date
graduation_date: date | None = None graduation_date: date | None = None
+1 -1
View File
@@ -33,7 +33,7 @@ def add_student(
''' '''
from sqlalchemy.orm import Session
def generate_no(field_name: str, prefix: str, db_object, db: Session): def generate_no(field_name: str, prefix: str, db_object, db: Session):
if getattr(db_object, field_name): if getattr(db_object, field_name):
return return