diff --git a/students/dao/students_dao.py b/students/dao/students_dao.py index 529d58e..74fe731 100644 --- a/students/dao/students_dao.py +++ b/students/dao/students_dao.py @@ -67,12 +67,15 @@ def add_student_dao( s , db): raise ValueError("手机号不能为空") if not s.get("class_id") or not s.get("advisor_id"): raise ValueError("班级ID和顾问ID不能为空") - s1_class_id = db.query(Students).filter(Students.phone == phone).first() - s1_advisor_id = db.query(Students).filter(Students.phone == phone).first() + # 查询 classes 表确认 class_id 存在 + from Teachers.model.tea_model import Tea + s1_class_id = db.query(Tea).filter(Tea.id == s.get("class_id")).first() + # 查询 teachers 表确认 advisor_id 存在 + s1_advisor_id = db.query(Tea).filter(Tea.id == s.get("advisor_id")).first() if not s1_class_id: - raise ValueError(f"班级ID {s.get("class_id")} 不存在,请先创建班级") + raise ValueError(f"班级ID {s.get('class_id')} 不存在,请先创建班级") if not s1_advisor_id: - raise ValueError(f"顾问ID {s.get("advisor_id")} 不存在,请先创建顾问") + raise ValueError(f"顾问ID {s.get('advisor_id')} 不存在,请先创建顾问") if s1_deleted and s1_deleted.is_deleted == True: s1_deleted.name = s.get("name") s1_deleted.age = s.get("age") @@ -96,7 +99,11 @@ def add_student_dao( s , db): db.commit() db.refresh(s1_deleted) # 从数据库再拉一次数据 return s1_deleted - s1 = Students( **s ) + s1 = Students(**s) + # 显式设置时间,避免 SQLAlchemy 字典构建时跳过 default + now = datetime.now() + s1.create_date = now + s1.update_date = now db.add(s1) db.commit() except ValueError as e: