正式考试
This commit is contained in:
parent
ea27424e60
commit
593c0d35f1
|
@ -41,7 +41,7 @@ class WorkScopeSerializer(serializers.ModelSerializer):
|
|||
|
||||
class MoniTestSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
模考序列化
|
||||
考试序列化
|
||||
"""
|
||||
start_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
|
||||
end_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
|
||||
|
|
|
@ -98,7 +98,38 @@ class ExamViewSet(ModelViewSet):
|
|||
生成考试卷
|
||||
"""
|
||||
obj = self.get_object()
|
||||
pass
|
||||
workscope = obj.workscope
|
||||
if workscope.name in ['医学Ⅲ类', '非医学Ⅲ类']:
|
||||
ret['name'] = '正式考试' + datetime.now().strftime('%Y%m%d%H%M')
|
||||
ret['type'] = '正式考试' # 正式考试
|
||||
ret['exam'] = obj.id
|
||||
ret['workscope'] = workscope.id
|
||||
ret['limit'] = 60
|
||||
ret['total_score'] = 120
|
||||
ret['pass_score'] = 90
|
||||
ret['danxuan_count'] = 40
|
||||
ret['danxuan_score'] = 2
|
||||
ret['duoxuan_count'] = 10
|
||||
ret['duoxuan_score'] = 4
|
||||
question_queryset = Question.objects.none()
|
||||
questioncats = workscope.questioncat.order_by('type', 'create_time')
|
||||
if questioncats.count() == 3:
|
||||
queryset = Question.objects.filter(is_delete=0)
|
||||
a1_set = queryset.filter(questioncat=questioncats[0], type='单选').order_by('?')[:12]
|
||||
a2_set = queryset.filter(questioncat=questioncats[1], type='单选').order_by('?')[:12]
|
||||
a3_set = queryset.filter(questioncat=questioncats[2], type='单选').order_by('?')[:16]
|
||||
b1_set = queryset.filter(questioncat=questioncats[0], type='多选').order_by('?')[:3]
|
||||
b2_set = queryset.filter(questioncat=questioncats[1], type='多选').order_by('?')[:3]
|
||||
b3_set = queryset.filter(questioncat=questioncats[2], type='多选').order_by('?')[:4]
|
||||
question_queryset = question_queryset|a1_set|a2_set|a3_set|b1_set|b2_set|b3_set
|
||||
questions = QuestionSerializer(instance=question_queryset.order_by('type'),many=True).data
|
||||
for i in questions:
|
||||
if i['type'] == '单选':
|
||||
i['total_score'] = 2
|
||||
elif i['type'] == '多选':
|
||||
i['total_score'] = 4
|
||||
ret['questions'] = questions
|
||||
return Response(ret)
|
||||
|
||||
|
||||
|
||||
|
@ -375,6 +406,10 @@ class ExamTestViewSet(ModelViewSet):
|
|||
serializer_detail = AnswerDetailCreateSerializer(data=questions, many=True)
|
||||
if serializer_detail.is_valid():
|
||||
serializer_detail.save()
|
||||
# 关联正式考试如有
|
||||
if request.data.get('exam', None):
|
||||
instance.exam = Exam.objects.get(pk=request.data['exam'])
|
||||
instance.save()
|
||||
return Response(MoniTestSerializer(instance).data,status=status.HTTP_200_OK)
|
||||
else:
|
||||
return Response(serializer_detail.errors)
|
||||
|
|
|
@ -1 +1,15 @@
|
|||
from sympy import *
|
||||
|
||||
x1 = Symbol('x1')
|
||||
x2 = Symbol('x2')
|
||||
x3 = Symbol('x3')
|
||||
y1 = Symbol('y1')
|
||||
y2 = Symbol('y2')
|
||||
y3 = Symbol('y3')
|
||||
f = [
|
||||
y1+y2+y3-10,
|
||||
x1+x2+x3-40,
|
||||
2*x1+4*y1-36,
|
||||
2*x2+4*y2-36,
|
||||
]
|
||||
print(solve(f))
|
Loading…
Reference in New Issue