diff --git a/test_server/crm/views.py b/test_server/crm/views.py index 8e02da2..a7abf9c 100644 --- a/test_server/crm/views.py +++ b/test_server/crm/views.py @@ -244,6 +244,18 @@ class ConsumerViewSet(ModelViewSet): path = export_consumer(serializer.data) return Response({'path': path}) + @action(methods=['get'], detail=True, url_name='consumer_unbind', perms_map=[{'*':'consumer_unbind'}]) + def unbind(self, request, *args, **kwargs): + obj = self.get_object() + if obj.username and obj.openid: + obj.openid = None + obj.nickname = None + obj.avatar = None + obj.save() + return Response(status=status.HTTP_200_OK) + else: + return Response({"error":"不支持解绑!"}) + class ConsumerMPLoginView(APIView): """ 小程序登陆颁发token diff --git a/test_server/examtest/views.py b/test_server/examtest/views.py index 7b7949f..704c924 100644 --- a/test_server/examtest/views.py +++ b/test_server/examtest/views.py @@ -246,7 +246,7 @@ class ExamTestViewSet(ModelViewSet): queryset = ExamTest.objects.filter(consumer=request.user) ret = {} ret['total'] = queryset.count() - ret['avg_score'] = round(queryset.aggregate(avg=Avg('score'))['avg']) + ret['avg_score'] = round(queryset.aggregate(avg=Avg('score'))['avg']) if ret['total'] else 0 ret['pass_rate'] = round(((queryset.filter(is_pass=True).count())/ret['total'])*100) if ret['total'] else 0 return Response(ret)