赞
踩
源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统"
逻辑就是返回所有课程,也很简单,直接上代码
- def get_all_courses(db: Session):
- """查询所有课程列表"""
- try:
- all_courses = get_all(db)
- to_client = []
- if all_courses:
- for _ in all_courses:
- course_detail = CourseDetail(
- id=_.id,
- name=_.name,
- icon=_.icon,
- desc=_.desc,
- catalog=_.catalog,
- onsale=_.onsale,
- owner=get_by_uid(db, _.owner).username,
- like_num=_.like_num
- )
- to_client.append(course_detail.dict())
- except:
- logger.warning(f"查询失败:{traceback.format_exc()}")
- return response(code=101701, message="查询失败")
- return response(data=to_client)
接口api
- @course_router.get("/student_course/all", summary="查询所有课程")
- def get_all(db: Session = Depends(create_db)):
- return get_all_courses(db)
测试:
逻辑也比较简单
- def db_student_like(db: Session, user_id: int):
- """学生加入的所有课程"""
- return db.query(StudentCourse).filter(StudentCourse.student == user_id, StudentCourse.status == False).all()
-
-
- def get_student_like(user: UsernameRole, db: Session):
- """查询学生加入的所有课程"""
- if user.role == "老师":
- return response(code=101701, message="只有学生可以查看自己加入的课程列表")
- try:
- db_user = get_by_username(db, user.username)
- student_likes = db_student_like(db, db_user.id)
- to_client = []
- if student_likes:
- for _ in student_likes:
- db_course = get_course_by_id(db, _.course)
- course_detail = CourseDetail(
- id=db_course.id,
- name=db_course.name,
- icon=db_course.icon,
- desc=db_course.desc,
- catalog=db_course.catalog,
- onsale=db_course.onsale,
- owner=get_by_uid(db, db_course.owner).username,
- like_num=db_course.like_num
- )
- to_client.append(course_detail.dict())
- except:
- logger.warning(f"method get_student_like error: {traceback.format_exc()}")
- return response(code=101702, message="查询失败")
- return response(data=to_client)
接口api
- @course_router.get("/student_course", summary="查询学生加入的所有课程")
- def get_student_like_course(user: UsernameRole = Depends(get_current_user), db: Session = Depends(create_db)):
- return get_student_like(user, db)
测试
以上就是查询所有课程以及学生加入的课程接口
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。