예제 #1
0
    def latest_change(request, *args, **kwargs):
        view_class = request.resolver_match.func.cls
        if hasattr(view_class, 'related_model_classes'):
            related_model_list = [get_model_name_from_obj_or_cls(model_cls)
                                  for model_cls in view_class.related_model_classes]
        else:
            # use serializer' model class
            related_model_list = [get_model_name_from_obj_or_cls(view_class.serializer_class.Meta.model)]

        result = datetime.datetime(1970, 1, 2)
        if Change.objects.filter(target_class__in=related_model_list).exists():
            result = Change.objects.filter(
                target_class__in=related_model_list).order_by('-id')[0].changeset.committed_on
        return result
예제 #2
0
    def latest_change(request, *args, **kwargs):
        view_class = request.resolver_match.func.cls
        if hasattr(view_class, 'related_model_classes'):
            related_model_list = [get_model_name_from_obj_or_cls(model_cls)
                                  for model_cls in view_class.related_model_classes]
        else:
            # use serializer' model class
            related_model_list = [get_model_name_from_obj_or_cls(view_class.serializer_class.Meta.model)]

        result = datetime.datetime(1970, 1, 2)
        if Change.objects.filter(target_class__in=related_model_list).exists():
            result = Change.objects.filter(
                target_class__in=related_model_list).order_by('-id')[0].changeset.committed_on
        return result
    def perform_update(self, serializer):
        obj = serializer.save()
        self.object = obj

        model_name = get_model_name_from_obj_or_cls(obj)
        self.request.changeset.add(model_name, obj.id, json.dumps(self.origin_obj), json.dumps(obj.export()))
        del self.origin_obj
 def perform_create(self, serializer):
     obj = serializer.save()
     self.object = obj
     if not isinstance(obj, list):
         obj = [obj]
     for item in obj:
         model_name = get_model_name_from_obj_or_cls(item)
         self.request.changeset.add(model_name, item.id, "null", json.dumps(item.export()))
 def perform_create(self, serializer):
     obj = serializer.save()
     self.object = obj
     if not isinstance(obj, list):
         obj = [obj]
     for item in obj:
         model_name = get_model_name_from_obj_or_cls(item)
         self.request.changeset.add(model_name, item.id, 'null',
                                    _dumps_json(item.export()))
    def perform_update(self, serializer):
        obj = serializer.save()
        self.object = obj

        model_name = get_model_name_from_obj_or_cls(obj)
        self.request.changeset.add(model_name, obj.id,
                                   _dumps_json(self.origin_obj),
                                   _dumps_json(obj.export()))
        del self.origin_obj
예제 #7
0
 def perform_destroy(self, obj):
     model_name = get_model_name_from_obj_or_cls(obj)
     obj_id = obj.id
     obj_content = json.dumps(obj.export())
     super(ChangeSetDestroyModelMixin, self).perform_destroy(obj)
     self.request.changeset.add(model_name,
                                obj_id,
                                obj_content,
                                'null')
예제 #8
0
 def perform_destroy(self, obj):
     model_name = get_model_name_from_obj_or_cls(obj)
     obj_id = obj.id
     obj_content = json.dumps(obj.export())
     super(ChangeSetDestroyModelMixin, self).perform_destroy(obj)
     self.request.changeset.add(model_name,
                                obj_id,
                                obj_content,
                                'null')