feat: 添加examlist can_attend返回
This commit is contained in:
parent
57acaa2e06
commit
db39aa6519
|
@ -16,6 +16,7 @@ from drf_yasg.utils import swagger_auto_schema
|
|||
from apps.utils.permission import has_perm
|
||||
from .filters import ExamFilter, ExamRecordFilter
|
||||
from apps.system.models import User
|
||||
from datetime import datetime
|
||||
|
||||
# Create your views here.
|
||||
class QuestioncatViewSet(CustomModelViewSet):
|
||||
|
@ -26,6 +27,7 @@ class QuestioncatViewSet(CustomModelViewSet):
|
|||
class QuestionViewSet(CustomModelViewSet):
|
||||
queryset = Question.objects.all()
|
||||
serializer_class = QuestionSerializer
|
||||
select_related_fields = ["questioncat"]
|
||||
filterset_fields = ["questioncat", "type", "enabled"]
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
|
@ -54,6 +56,17 @@ class ExamViewSet(CustomModelViewSet):
|
|||
filterset_class = ExamFilter
|
||||
retrieve_serializer_class = ExamDetailSerializer
|
||||
|
||||
def add_info_for_list(self, data):
|
||||
"""
|
||||
添加是否可参加字段
|
||||
"""
|
||||
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
for item in data:
|
||||
item["can_attend"] = False
|
||||
if item["open_time"] <= now <= item["close_time"]:
|
||||
item["can_attend"] = True
|
||||
return data
|
||||
|
||||
def get_queryset(self):
|
||||
qs = super().get_queryset()
|
||||
if has_perm(self.request.user, 'exam.view'):
|
||||
|
|
Loading…
Reference in New Issue