From e16c1b33071980f2a21a915d61f2b1e66cae8f5c Mon Sep 17 00:00:00 2001 From: Orangeeee Date: Wed, 23 Sep 2026 10:26:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=B0=83=E6=95=B4stu?= =?UTF-8?q?=E6=A8=A1=E5=9D=97bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- students/dao/students_dao.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) 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: