docs: def get_can_edit(self, obj):
          """ returns true if user has permission to edit, false otherwise """
          view = self.context.get('view')
          request = copy(self.context.get('request'))
          request._method = 'PUT'
          try:
              view.check_object_permissions(request, obj)
          except (PermissionDenied, NotAuthenticated):
              return False
          else:
              return True