diff --git a/AUTHORS b/AUTHORS index 97319f754..2b8af2b97 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,12 +9,14 @@ Carles Barrobés Michael Fötsch David Larlet Andrew Straw - +Zeth Fernando Zunino Jens Alm Craig Blaszczyk - +Garcia Solero Tom Drummond +Danilo Bargen +Andrew McCloud THANKS TO: diff --git a/djangorestframework/mixins.py b/djangorestframework/mixins.py index 5be528cb0..75f334f12 100644 --- a/djangorestframework/mixins.py +++ b/djangorestframework/mixins.py @@ -7,7 +7,6 @@ from django.contrib.auth.models import AnonymousUser from django.db.models.query import QuerySet from django.db.models.fields.related import ForeignKey from django.http import HttpResponse -from django.http.multipartparser import LimitBytes from djangorestframework import status from djangorestframework.parsers import FormParser, MultiPartParser diff --git a/djangorestframework/permissions.py b/djangorestframework/permissions.py index 731f4a203..d704665dc 100644 --- a/djangorestframework/permissions.py +++ b/djangorestframework/permissions.py @@ -81,7 +81,7 @@ class IsAdminUser(BasePermission): """ def check_permission(self, user): - if not user.is_staff(): + if not user.is_staff: raise _403_FORBIDDEN_RESPONSE diff --git a/djangorestframework/resources.py b/djangorestframework/resources.py index 8ac31545a..037004832 100644 --- a/djangorestframework/resources.py +++ b/djangorestframework/resources.py @@ -72,11 +72,11 @@ class FormResource(Resource): view, which may be used by some renderers. """ + form = None """ The :class:`Form` class that should be used for request validation. This can be overridden by a :attr:`form` attribute on the :class:`views.View`. """ - form = None def validate_request(self, data, files=None): @@ -111,7 +111,7 @@ class FormResource(Resource): # To get around this case we revalidate with some fake data. if fake_data: data[fake_data] = '_fake_data' - allowed_extra_fields = allowed_extra_fields + ('_fake_data',) + allowed_extra_fields = tuple(allowed_extra_fields) + ('_fake_data',) bound_form = self.get_bound_form(data, files) @@ -245,44 +245,44 @@ class ModelResource(FormResource): # Auto-register new ModelResource classes into _model_to_resource #__metaclass__ = _RegisterModelResource + form = None """ The form class that should be used for request validation. If set to :const:`None` then the default model form validation will be used. This can be overridden by a :attr:`form` attribute on the :class:`views.View`. """ - form = None + model = None """ The model class which this resource maps to. This can be overridden by a :attr:`model` attribute on the :class:`views.View`. """ - model = None + fields = None """ The list of fields to use on the output. May be any of: - The name of a model field. + The name of a model field. To view nested resources, give the field as a tuple of ("fieldName", resource) where `resource` may be any of ModelResource reference, the name of a ModelResourc reference as a string or a tuple of strings representing fields on the nested model. The name of an attribute on the model. The name of an attribute on the resource. The name of a method on the model, with a signature like ``func(self)``. The name of a method on the resource, with a signature like ``func(self, instance)``. """ - fields = None + exclude = ('id', 'pk') """ The list of fields to exclude. This is only used if :attr:`fields` is not set. """ - exclude = ('id', 'pk') + + include = ('url',) """ The list of extra fields to include. This is only used if :attr:`fields` is not set. """ - include = ('url',) - def __init__(self, view): """ diff --git a/djangorestframework/views.py b/djangorestframework/views.py index c25bb88f6..5f8e84cd2 100644 --- a/djangorestframework/views.py +++ b/djangorestframework/views.py @@ -40,7 +40,8 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView): """ List of renderers the resource can serialize the response with, ordered by preference. """ - renderers = renderers.DEFAULT_RENDERERS + renderers = renderers.DEFAULT_RENDERERS + """ List of parsers the resource can parse the request with. """ @@ -159,17 +160,25 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView): class ModelView(View): - """A RESTful view that maps to a model in the database.""" + """ + A RESTful view that maps to a model in the database. + """ resource = resources.ModelResource class InstanceModelView(InstanceMixin, ReadModelMixin, UpdateModelMixin, DeleteModelMixin, ModelView): - """A view which provides default operations for read/update/delete against a model instance.""" + """ + A view which provides default operations for read/update/delete against a model instance. + """ _suffix = 'Instance' class ListModelView(ListModelMixin, ModelView): - """A view which provides default operations for list, against a model in the database.""" + """ + A view which provides default operations for list, against a model in the database. + """ _suffix = 'List' class ListOrCreateModelView(ListModelMixin, CreateModelMixin, ModelView): - """A view which provides default operations for list and create, against a model in the database.""" + """ + A view which provides default operations for list and create, against a model in the database. + """ _suffix = 'List'