diff options
| author | Tom Christie | 2012-11-18 17:57:02 +0000 | 
|---|---|---|
| committer | Tom Christie | 2012-11-18 17:57:07 +0000 | 
| commit | f131e533edf58dc8ba7b712b4c3486a3ab053ffc (patch) | |
| tree | 377dc8b889ef49177116e2b9a48f84bdf11b58aa /docs/api-guide | |
| parent | 346a79b170b0a25fd28354de765c5aa5aca9a119 (diff) | |
| download | django-rest-framework-f131e533edf58dc8ba7b712b4c3486a3ab053ffc.tar.bz2 | |
Docs, docs, docs, docs, docs, docs
Diffstat (limited to 'docs/api-guide')
| -rw-r--r-- | docs/api-guide/generic-views.md | 18 | ||||
| -rw-r--r-- | docs/api-guide/pagination.md | 5 | 
2 files changed, 21 insertions, 2 deletions
| diff --git a/docs/api-guide/generic-views.md b/docs/api-guide/generic-views.md index 33ec89d2..428323b8 100644 --- a/docs/api-guide/generic-views.md +++ b/docs/api-guide/generic-views.md @@ -163,30 +163,48 @@ The mixin classes provide the actions that are used to provide the basic view be  Provides a `.list(request, *args, **kwargs)` method, that implements listing a queryset. +If the queryset is populated, this returns a `200 OK` response, with a serialized representation of the queryset as the body of the response.  The response data may optionally be paginated. + +If the queryset is empty this returns a `200 OK` reponse, unless the `.allow_empty` attribute on the view is set to `False`, in which case it will return a `404 Not Found`. +  Should be mixed in with [MultipleObjectAPIView].  ## CreateModelMixin  Provides a `.create(request, *args, **kwargs)` method, that implements creating and saving a new model instance. +If an object is created this returns a `201 Created` response, with a serialized representation of the object as the body of the response.  If the representation contains a key named `url`, then the `Location` header of the response will be populated with that value. + +If the request data provided for creating the object was invalid, a `400 Bad Request` response will be returned, with the error details as the body of the response. +  Should be mixed in with any [GenericAPIView].  ## RetrieveModelMixin  Provides a `.retrieve(request, *args, **kwargs)` method, that implements returning an existing model instance in a response. +If an object can be retrieve this returns a `200 OK` response, with a serialized representation of the object as the body of the response.  Otherwise it will return a `404 Not Found`. +  Should be mixed in with [SingleObjectAPIView].  ## UpdateModelMixin  Provides a `.update(request, *args, **kwargs)` method, that implements updating and saving an existing model instance. +If an object is updated this returns a `200 OK` response, with a serialized representation of the object as the body of the response. + +If an object is created, for example when making a `DELETE` request followed by a `PUT` request to the same URL, this returns a `201 Created` response, with a serialized representation of the object as the body of the response. + +If the request data provided for updating the object was invalid, a `400 Bad Request` response will be returned, with the error details as the body of the response. +  Should be mixed in with [SingleObjectAPIView].  ## DestroyModelMixin  Provides a `.destroy(request, *args, **kwargs)` method, that implements deletion of an existing model instance. +If an object is deleted this returns a `204 No Content` response, otherwise it will return a `404 Not Found`. +  Should be mixed in with [SingleObjectAPIView].  [cite]: https://docs.djangoproject.com/en/dev/ref/class-based-views/#base-vs-generic-views diff --git a/docs/api-guide/pagination.md b/docs/api-guide/pagination.md index 5a35ed75..ab335e6e 100644 --- a/docs/api-guide/pagination.md +++ b/docs/api-guide/pagination.md @@ -70,11 +70,12 @@ We could now use our pagination serializer in a view like this.              # If page is not an integer, deliver first page.              users = paginator.page(1)          except EmptyPage: -            # If page is out of range (e.g. 9999), deliver last page of results. +            # If page is out of range (e.g. 9999), +            # deliver last page of results.              users = paginator.page(paginator.num_pages)          serializer_context = {'request': request} -        serializer = PaginatedUserSerializer(instance=users, +        serializer = PaginatedUserSerializer(users,                                               context=serializer_context)          return Response(serializer.data) | 
