コード例 #1
0
    def _doc_fields_set(self):
        """
        """
        doc_fields = set(name for name, field in self.document._fields.items())
        if fields:
            return doc_fields & set(as_tuple(self.fields))

        return doc_fields - set(as_tuple(self.exclude))
コード例 #2
0
    def _property_fields_set(self):
        property_fields = set(attr for attr in dir(self.document) if
                isinstance(getattr(self.document, attr, None), property)
                and not attr.startswith('_'))

        if self.fields:
            return property_fields & set(as_tuple(self.fields))

        return property_fields.union(set(as_tuple(self.include))) - set(as_tuple(self.exclude))
コード例 #3
0
ファイル: resources.py プロジェクト: marchon/loansProject
    def _model_fields_set(self):
        """
        Return a set containing the names of validated fields on the model.
        """
        model_fields = set(field.name for field in self.model._meta.fields)

        if fields:
            return model_fields & set(as_tuple(self.fields))

        return model_fields - set(as_tuple(self.exclude))
コード例 #4
0
ファイル: resources.py プロジェクト: marchon/loansProject
    def _property_fields_set(self):
        """
        Returns a set containing the names of validated properties on the model.
        """
        property_fields = set(attr for attr in dir(self.model) if
                              isinstance(getattr(self.model, attr, None), property)
                              and not attr.startswith('_'))

        if self.fields:
            return property_fields & set(as_tuple(self.fields))

        return property_fields.union(set(as_tuple(self.include))) - set(as_tuple(self.exclude))
コード例 #5
0
    def get(self, request, *args, **kwargs):
        queryset = self.get_queryset()

        if hasattr(self, 'resource'):
            ordering = getattr(self.resource, 'ordering', None)
        else:
            ordering = None

        if ordering:
            args = as_tuple(ordering)
            queryset = queryset.order_by(*args)
        return queryset.filter(self.build_query(**kwargs))
コード例 #6
0
    def get(self, request, *args, **kwargs):
        model = self.resource.model

        queryset = self.queryset if self.queryset is not None else model.objects.all()

        if hasattr(self, 'resource'):
            ordering = getattr(self.resource, 'ordering', None)
        else:
            ordering = None

        if ordering:
            args = as_tuple(ordering)
            queryset = queryset.order_by(*args)
        return queryset.filter(**kwargs)
コード例 #7
0
    def get(self, request, *args, **kwargs):
        term = request.GET.get('term', '')
        model = self.resource.model
        queryset = self.queryset if self.queryset is not None else model.objects.all()

        if hasattr(self, 'resource'):
            ordering = getattr(self.resource, 'ordering', None)
        else:
            ordering = None

        if ordering:
            args = as_tuple(ordering)
            queryset = queryset.order_by(*args)
        return queryset.filter(title__startswith=term)
コード例 #8
0
    def _parse(self, stream, content_type):
        """
        Parse the request content.

        May raise a 415 ErrorResponse (Unsupported Media Type), or a 400 ErrorResponse (Bad Request).
        """
        if stream is None or content_type is None:
            return (None, None)

        parsers = as_tuple(self.parsers)

        for parser_cls in parsers:
            parser = parser_cls(self)
            if parser.can_handle_request(content_type):
                return parser.parse(stream)

        raise ErrorResponse(status.HTTP_415_UNSUPPORTED_MEDIA_TYPE,
                            {'error': 'Unsupported media type in request \'%s\'.' %
                            content_type})
コード例 #9
0
ファイル: mixins.py プロジェクト: ulmus/d12app
	def get(self, request, *args, **kwargs):
		model = self.resource.model

		queryset = self.queryset if self.queryset is not None else model.objects.all()

		if hasattr(queryset, "__call__"):
			queryset = queryset(request, *args, **kwargs)

		for param in self.query_params:
			if request.GET.has_key(param):
				filter = {param:request.GET.get(param)}
				queryset = queryset.filter(**filter)

		if hasattr(self, 'resource'):
			ordering = getattr(self.resource, 'ordering', None)
		else:
			ordering = None

		if ordering:
			args = as_tuple(ordering)
			queryset = queryset.order_by(*args)
		return queryset.filter(**kwargs)
コード例 #10
0
ファイル: mixins.py プロジェクト: ulmus/d12app
    def get(self, request, *args, **kwargs):
        model = self.resource.model

        queryset = self.queryset if self.queryset is not None else model.objects.all(
        )

        if hasattr(queryset, "__call__"):
            queryset = queryset(request, *args, **kwargs)

        for param in self.query_params:
            if request.GET.has_key(param):
                filter = {param: request.GET.get(param)}
                queryset = queryset.filter(**filter)

        if hasattr(self, 'resource'):
            ordering = getattr(self.resource, 'ordering', None)
        else:
            ordering = None

        if ordering:
            args = as_tuple(ordering)
            queryset = queryset.order_by(*args)
        return queryset.filter(**kwargs)