diff --git a/apps/jumpserver/urls.py b/apps/jumpserver/urls.py
index 5023462f6..046cbb3df 100644
--- a/apps/jumpserver/urls.py
+++ b/apps/jumpserver/urls.py
@@ -42,7 +42,7 @@ urlpatterns = [
 
 urlpatterns += [
     url(r'^api/v1/ops', include(router.urls)),
-    url(r'^ops/', include('ops.urls')),
+    url(r'^ops/', include('ops.urls', namespace='ops')),
 ]
 
 if settings.DEBUG:
diff --git a/apps/ops/api/views.py b/apps/ops/api/views.py
index 1b0de74ee..69cb7ca54 100644
--- a/apps/ops/api/views.py
+++ b/apps/ops/api/views.py
@@ -1,94 +1,54 @@
 # ~*~ coding: utf-8 ~*~
 from __future__ import unicode_literals
-from rest_framework import viewsets, mixins
+from rest_framework import viewsets
 
 from serializers import *
 from permissions import *
 
 
-class HostAliaViewSet(mixins.CreateModelMixin,
-                      mixins.ListModelMixin,
-                      mixins.RetrieveModelMixin,
-                      mixins.UpdateModelMixin,
-                      mixins.DestroyModelMixin,
-                      viewsets.GenericViewSet):
+class HostAliaViewSet(viewsets.ModelViewSet):
     queryset = HostAlia.objects.all()
     serializer_class = HostAliaSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class CmdAliaViewSet(mixins.CreateModelMixin,
-                     mixins.ListModelMixin,
-                     mixins.RetrieveModelMixin,
-                     mixins.UpdateModelMixin,
-                     mixins.DestroyModelMixin,
-                     viewsets.GenericViewSet):
+class CmdAliaViewSet(viewsets.ModelViewSet):
     queryset = CmdAlia.objects.all()
     serializer_class = CmdAliaSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class UserAliaViewSet(mixins.CreateModelMixin,
-                      mixins.ListModelMixin,
-                      mixins.RetrieveModelMixin,
-                      mixins.UpdateModelMixin,
-                      mixins.DestroyModelMixin,
-                      viewsets.GenericViewSet):
+class UserAliaViewSet(viewsets.ModelViewSet):
     queryset = UserAlia.objects.all()
     serializer_class = UserAliaSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class RunasAliaViewSet(mixins.CreateModelMixin,
-                       mixins.ListModelMixin,
-                       mixins.RetrieveModelMixin,
-                       mixins.UpdateModelMixin,
-                       mixins.DestroyModelMixin,
-                       viewsets.GenericViewSet):
+class RunasAliaViewSet(viewsets.ModelViewSet):
     queryset = RunasAlia.objects.all()
     serializer_class = RunasAliaSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class ExtraconfViewSet(mixins.CreateModelMixin,
-                       mixins.ListModelMixin,
-                       mixins.RetrieveModelMixin,
-                       mixins.UpdateModelMixin,
-                       mixins.DestroyModelMixin,
-                       viewsets.GenericViewSet):
+class ExtraconfViewSet(viewsets.ModelViewSet):
     queryset = Extra_conf.objects.all()
     serializer_class = ExtraconfSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class PrivilegeViewSet(mixins.CreateModelMixin,
-                       mixins.ListModelMixin,
-                       mixins.RetrieveModelMixin,
-                       mixins.UpdateModelMixin,
-                       mixins.DestroyModelMixin,
-                       viewsets.GenericViewSet):
+class PrivilegeViewSet(viewsets.ModelViewSet):
     queryset = Privilege.objects.all()
     serializer_class = PrivilegeSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class SudoViewSet(mixins.CreateModelMixin,
-                  mixins.ListModelMixin,
-                  mixins.RetrieveModelMixin,
-                  mixins.UpdateModelMixin,
-                  mixins.DestroyModelMixin,
-                  viewsets.GenericViewSet):
+class SudoViewSet(viewsets.ModelViewSet):
     queryset = Sudo.objects.all()
     serializer_class = SudoSerializer
     permission_classes = (AdminUserRequired,)
 
 
-class CronTableViewSet(mixins.CreateModelMixin,
-                       mixins.ListModelMixin,
-                       mixins.RetrieveModelMixin,
-                       mixins.UpdateModelMixin,
-                       mixins.DestroyModelMixin,
-                       viewsets.GenericViewSet):
+class CronTableViewSet(viewsets.ModelViewSet):
     queryset = CronTable.objects.all()
     serializer_class = CronTableSerializer
     permission_classes = (AdminUserRequired,)