fix: 修复 SQLAlchemy case() 语法
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
- admin.py: 使用 case() 替代 func.case() - task_service.py: 同上 - 已在服务器执行数据库迁移创建 user_course_progress 表
This commit is contained in:
@@ -6,7 +6,7 @@ from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime, timedelta
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy import select, func
|
||||
from sqlalchemy import select, func, case
|
||||
|
||||
from app.core.deps import get_current_active_user as get_current_user, get_db
|
||||
from app.models.user import User
|
||||
@@ -216,7 +216,7 @@ async def get_course_completion_data(
|
||||
select(
|
||||
func.count(UserCourseProgress.id).label('total'),
|
||||
func.sum(
|
||||
func.case(
|
||||
case(
|
||||
(UserCourseProgress.status == ProgressStatus.COMPLETED.value, 1),
|
||||
else_=0
|
||||
)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"""
|
||||
from typing import List, Optional
|
||||
from datetime import datetime
|
||||
from sqlalchemy import select, func, and_
|
||||
from sqlalchemy import select, func, and_, case
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy.orm import joinedload
|
||||
from app.models.task import Task, TaskCourse, TaskAssignment, TaskStatus, AssignmentStatus
|
||||
@@ -154,7 +154,7 @@ class TaskService(BaseService[Task]):
|
||||
stmt = select(
|
||||
func.count(TaskAssignment.id).label('total'),
|
||||
func.sum(
|
||||
func.case(
|
||||
case(
|
||||
(TaskAssignment.status == AssignmentStatus.COMPLETED, 1),
|
||||
else_=0
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user