正式考试
This commit is contained in:
parent
ea27424e60
commit
593c0d35f1
|
@ -41,7 +41,7 @@ class WorkScopeSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class MoniTestSerializer(serializers.ModelSerializer):
|
class MoniTestSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
模考序列化
|
考试序列化
|
||||||
"""
|
"""
|
||||||
start_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
|
start_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
|
||||||
end_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()
|
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)
|
serializer_detail = AnswerDetailCreateSerializer(data=questions, many=True)
|
||||||
if serializer_detail.is_valid():
|
if serializer_detail.is_valid():
|
||||||
serializer_detail.save()
|
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)
|
return Response(MoniTestSerializer(instance).data,status=status.HTTP_200_OK)
|
||||||
else:
|
else:
|
||||||
return Response(serializer_detail.errors)
|
return Response(serializer_detail.errors)
|
||||||
|
|
|
@ -1 +1,15 @@
|
||||||
from sympy import *
|
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