def post(self, request, **kwargs): instance = self.get_object(request, **kwargs) if self._requestor_can_fork(request, instance): fork = DataQuery(name=instance.name, description=instance.description, view_json=instance.view_json, context_json=instance.context_json, parent=instance) if getattr(request, 'user', None): fork.user = request.user elif request.session.session_key: fork.session_key = request.session.session_key fork.save() request.session.modified = True posthook = functools.partial(query_posthook, request=request) data = serialize(fork, posthook=posthook, **templates.Query) return self.render(request, data, status=codes.created) data = { 'message': 'Cannot fork query', } return self.render(request, data, status=codes.unauthorized)