github.com/dustinrc/deis@v1.10.1-0.20150917223407-0894a5fb979e/controller/api/viewsets.py (about)

     1  from rest_framework import viewsets
     2  from rest_framework.permissions import IsAuthenticated
     3  
     4  from api import permissions
     5  
     6  
     7  class OwnerViewSet(viewsets.ModelViewSet):
     8      """
     9      A simple ViewSet for objects filtered by their 'owner' attribute.
    10  
    11      To use it, at minimum you'll need to provide the `serializer_class` attribute and
    12      the `model` attribute shortcut.
    13      """
    14      permission_classes = [IsAuthenticated, permissions.IsOwner]
    15  
    16      def get_queryset(self):
    17          return self.model.objects.filter(owner=self.request.user)
    18  
    19      def perform_create(self, serializer):
    20          obj = serializer.save(owner=self.request.user)
    21          self.post_save(obj)
    22  
    23      def post_save(self, obj):
    24          """A post_save hook for performing actions after the object has been pushed to the
    25          database.
    26  
    27          Leave it up to child classes to implement."""
    28          pass