更新注释
This commit is contained in:
+17
-3
@@ -1,8 +1,7 @@
|
||||
# 顾问模块DAO层:直接操作 advisor 表,沿用原学生 DAO 的写法。
|
||||
# DAO(Data Access Object) 数据访问层,封装数据库增删改查逻辑,供上层API调用
|
||||
from sqlalchemy.orm import Session
|
||||
# 导入SQLAlchemy ORM数据库模型:顾问表实体
|
||||
from model.wl_advisor_model import Advisor
|
||||
from model.wl_student_model import Student
|
||||
# 导入Pydantic请求模型:新增、更新顾问的入参校验模型
|
||||
from scheme.wl_advisor_scheme import AdvisorCreate, AdvisorUpdate
|
||||
|
||||
@@ -56,6 +55,21 @@ def get_advisor_by_id(db: Session, adv_id: int) -> Advisor | None:
|
||||
).first() # first() 取第一条,无结果返回None
|
||||
|
||||
|
||||
# 查询顾问信息和该顾问名下的学生
|
||||
def get_advisor_with_students(db: Session, adv_id: int):
|
||||
advisor = get_advisor_by_id(db, adv_id)
|
||||
if not advisor:
|
||||
return None
|
||||
|
||||
# 学生表中的顾问外键字段名是 advisor_id
|
||||
student_list = db.query(Student).filter(
|
||||
Student.advisor_id == adv_id,
|
||||
Student.is_deleted == 0
|
||||
).all()
|
||||
advisor.student_list = student_list
|
||||
return advisor
|
||||
|
||||
|
||||
def update_advisor(db: Session, adv_id: int, data: AdvisorUpdate) -> Advisor | None:
|
||||
# 根据ID查询顾问
|
||||
advisor = get_advisor_by_id(db, adv_id)
|
||||
@@ -88,4 +102,4 @@ def delete_advisor(db: Session, adv_id: int) -> bool:
|
||||
# 提交事务保存修改
|
||||
db.commit()
|
||||
# 删除标记修改成功返回True
|
||||
return True
|
||||
return True
|
||||
Reference in New Issue
Block a user