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))
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))
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))
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))
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))
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)
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)
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})
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)
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)