示例#1
0
文件: api.py 项目: ccird/afsbirez
    def update(self, request, *posargs, **kwargs):
        # TODO: What if you try to update the `firm`?

        result = super(DocumentViewSet, self).update(request, *posargs, **kwargs)
        if 'file' in request.data:
            ver = DocumentVersion(file=request.data['file'], document_id = result.data['id'])
            ver.save()

        # re-querying seems awful, but otherwise the result contains obsolete data
        # from before the new version was attached
        result = self.retrieve(request, pk=result.data['id'])
        return result
示例#2
0
    def update(self, request, *posargs, **kwargs):
        # TODO: What if you try to update the `firm`?

        result = super(DocumentViewSet, self).update(request, *posargs,
                                                     **kwargs)
        if 'file' in request.data:
            ver = DocumentVersion(file=request.data['file'],
                                  document_id=result.data['id'])
            ver.save()

        # re-querying seems awful, but otherwise the result contains obsolete data
        # from before the new version was attached
        result = self.retrieve(request, pk=result.data['id'])
        return result
示例#3
0
文件: api.py 项目: ccird/afsbirez
    def create(self, request, *args, **kwargs):
        data = dict(request.data.items())
        data['firm'] = request.user.firm_id

        # cut-and-pasted from rest_framework.mixins.CreateModelMixin, because I can't
        # find a way to make it accept an edit to request.data
        serializer = self.get_serializer(data=data)
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        result = Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)

        ver = DocumentVersion(file=request.data['file'],
                              document_id=result.data['id'])
        ver.save()
        return result
示例#4
0
    def create(self, request, *args, **kwargs):
        data = dict(request.data.items())
        data['firm'] = request.user.firm_id

        # cut-and-pasted from rest_framework.mixins.CreateModelMixin, because I can't
        # find a way to make it accept an edit to request.data
        serializer = self.get_serializer(data=data)
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        result = Response(serializer.data,
                          status=status.HTTP_201_CREATED,
                          headers=headers)

        ver = DocumentVersion(file=request.data['file'],
                              document_id=result.data['id'])
        ver.save()
        return result