fix
This commit is contained in:
@@ -17,7 +17,6 @@ from .schemas import (
|
|||||||
|
|
||||||
from .models import Rating, Submission
|
from .models import Rating, Submission
|
||||||
from task.models import Task
|
from task.models import Task
|
||||||
from account.models import User
|
|
||||||
|
|
||||||
router = Router()
|
router = Router()
|
||||||
|
|
||||||
@@ -56,17 +55,19 @@ def list_submissions(request, filters: SubmissionFilter = Query(...)):
|
|||||||
if filters.username:
|
if filters.username:
|
||||||
submissions = submissions.filter(user__username__icontains=filters.username)
|
submissions = submissions.filter(user__username__icontains=filters.username)
|
||||||
|
|
||||||
submissions = submissions.prefetch_related("ratings").filter(
|
# 获取所有提交
|
||||||
ratings__user=request.user
|
submissions = submissions.prefetch_related("ratings")
|
||||||
)
|
|
||||||
|
|
||||||
rating_dict = {
|
# 获取当前用户的评分
|
||||||
submission.id: submission.ratings.first().score
|
user_ratings = {
|
||||||
for submission in submissions
|
rating.submission_id: rating.score
|
||||||
if submission.ratings.exists()
|
for rating in Rating.objects.filter(
|
||||||
|
user=request.user,
|
||||||
|
submission__in=submissions
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return [SubmissionOut.list(submission, rating_dict) for submission in submissions]
|
return [SubmissionOut.list(submission, user_ratings) for submission in submissions]
|
||||||
|
|
||||||
|
|
||||||
@router.get("/{submission_id}", response=SubmissionOut)
|
@router.get("/{submission_id}", response=SubmissionOut)
|
||||||
|
|||||||
Reference in New Issue
Block a user