diff --git a/test_server/examtest/views.py b/test_server/examtest/views.py index 73e805b..29cfdce 100644 --- a/test_server/examtest/views.py +++ b/test_server/examtest/views.py @@ -639,7 +639,7 @@ class PaperViewSet(PageOrNot, ModelViewSet): instance = serializer.save() if 'questions' in data: questions = [] - Question.objects.filter(is_delete=True, id__in=[i['id'] for i in data['questions']]).update(is_delete=False) + Question.objects.get_queryset(all=True).filter(is_delete=True, id__in=[i['id'] for i in data['questions']]).update(is_delete=False) for i in data['questions']: question = {} question['question'] = i['id'] @@ -664,7 +664,7 @@ class PaperViewSet(PageOrNot, ModelViewSet): self.perform_update(serializer) if 'questions' in data: questions = [] - Question.objects.filter(is_delete=True, id__in=[i['id'] for i in data['questions']]).update(is_delete=False) + Question.objects.get_queryset(all=True).filter(is_delete=True, id__in=[i['id'] for i in data['questions']]).update(is_delete=False) for i in data['questions']: question = {} question['question'] = i['id'] diff --git a/test_server/rbac/models.py b/test_server/rbac/models.py index 92af2a8..a4bc604 100644 --- a/test_server/rbac/models.py +++ b/test_server/rbac/models.py @@ -32,14 +32,15 @@ class SoftDeletableManagerMixin(object): """ _queryset_class = SoftDeletableQuerySet - def get_queryset(self): + def get_queryset(self, all=False): """ Return queryset limited to not deleted entries. """ kwargs = {'model': self.model, 'using': self._db} if hasattr(self, '_hints'): kwargs['hints'] = self._hints - + if all: + return self._queryset_class(**kwargs) return self._queryset_class(**kwargs).filter(is_delete=False)