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 apps.utils.permission import has_perm
|
||||||
from .filters import ExamFilter, ExamRecordFilter
|
from .filters import ExamFilter, ExamRecordFilter
|
||||||
from apps.system.models import User
|
from apps.system.models import User
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
class QuestioncatViewSet(CustomModelViewSet):
|
class QuestioncatViewSet(CustomModelViewSet):
|
||||||
|
|
@ -26,6 +27,7 @@ class QuestioncatViewSet(CustomModelViewSet):
|
||||||
class QuestionViewSet(CustomModelViewSet):
|
class QuestionViewSet(CustomModelViewSet):
|
||||||
queryset = Question.objects.all()
|
queryset = Question.objects.all()
|
||||||
serializer_class = QuestionSerializer
|
serializer_class = QuestionSerializer
|
||||||
|
select_related_fields = ["questioncat"]
|
||||||
filterset_fields = ["questioncat", "type", "enabled"]
|
filterset_fields = ["questioncat", "type", "enabled"]
|
||||||
|
|
||||||
def update(self, request, *args, **kwargs):
|
def update(self, request, *args, **kwargs):
|
||||||
|
|
@ -54,6 +56,17 @@ class ExamViewSet(CustomModelViewSet):
|
||||||
filterset_class = ExamFilter
|
filterset_class = ExamFilter
|
||||||
retrieve_serializer_class = ExamDetailSerializer
|
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):
|
def get_queryset(self):
|
||||||
qs = super().get_queryset()
|
qs = super().get_queryset()
|
||||||
if has_perm(self.request.user, 'exam.view'):
|
if has_perm(self.request.user, 'exam.view'):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue