aboutsummaryrefslogtreecommitdiffstats
path: root/docs/topics
diff options
context:
space:
mode:
authorPhilip Douglas2013-09-13 10:47:06 +0100
committerPhilip Douglas2013-09-13 10:47:06 +0100
commite5da0ff5e530c8ea0e2cf4dff0723ede6234860e (patch)
tree776ec2dd47b6c8a4aa976d33c740d4b0267c9522 /docs/topics
parent272a6abf91c51b44781d27af5352c7e36c8fa91c (diff)
parentea462b7b9b28f425c8c91d10e34532ddbb3c87fa (diff)
downloaddjango-rest-framework-e5da0ff5e530c8ea0e2cf4dff0723ede6234860e.tar.bz2
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'docs/topics')
-rw-r--r--docs/topics/credits.md2
-rw-r--r--docs/topics/release-notes.md5
-rw-r--r--docs/topics/writable-nested-serializers.md47
3 files changed, 53 insertions, 1 deletions
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 07e2ec47..8269580e 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -167,6 +167,7 @@ The following people have helped make REST framework great.
* Andrey Antukh - [niwibe]
* Mathieu Pillard - [diox]
* Edmond Wong - [edmondwong]
+* Ben Reilly - [bwreilly]
Many thanks to everyone who's contributed to the project.
@@ -370,3 +371,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[niwibe]: https://github.com/niwibe
[diox]: https://github.com/diox
[edmondwong]: https://github.com/edmondwong
+[bwreilly]: https://github.com/bwreilly
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 1f363310..3b35d9ed 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,8 +40,11 @@ You can determine your currently installed version using `pip freeze`:
## 2.3.x series
-### Master
+### 2.3.8
+**Date**: 11th September 2013
+
+* Added `DjangoObjectPermissions`, and `DjangoObjectPermissionsFilter`.
* Support customizable exception handling, using the `EXCEPTION_HANDLER` setting.
* Support customizable view name and description functions, using the `VIEW_NAME_FUNCTION` and `VIEW_DESCRIPTION_FUNCTION` settings.
* Added `MAX_PAGINATE_BY` setting and `max_paginate_by` generic view attribute.
diff --git a/docs/topics/writable-nested-serializers.md b/docs/topics/writable-nested-serializers.md
new file mode 100644
index 00000000..66ea7815
--- /dev/null
+++ b/docs/topics/writable-nested-serializers.md
@@ -0,0 +1,47 @@
+> To save HTTP requests, it may be convenient to send related documents along with the request.
+>
+> — [JSON API specification for Ember Data][cite].
+
+# Writable nested serializers
+
+Although flat data structures serve to properly delineate between the individual entities in your service, there are cases where it may be more appropriate or convenient to use nested data structures.
+
+Nested data structures are easy enough to work with if they're read-only - simply nest your serializer classes and you're good to go. However, there are a few more subtleties to using writable nested serializers, due to the dependancies between the various model instances, and the need to save or delete multiple instances in a single action.
+
+## One-to-many data structures
+
+*Example of a **read-only** nested serializer. Nothing complex to worry about here.*
+
+ class ToDoItemSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = ToDoItem
+ fields = ('text', 'is_completed')
+
+ class ToDoListSerializer(serializers.ModelSerializer):
+ items = ToDoItemSerializer(many=True, read_only=True)
+
+ class Meta:
+ model = ToDoList
+ fields = ('title', 'items')
+
+Some example output from our serializer.
+
+ {
+ 'title': 'Leaving party preperations',
+ 'items': {
+ {'text': 'Compile playlist', 'is_completed': True},
+ {'text': 'Send invites', 'is_completed': False},
+ {'text': 'Clean house', 'is_completed': False}
+ }
+ }
+
+Let's take a look at updating our nested one-to-many data structure.
+
+### Validation errors
+
+### Adding and removing items
+
+### Making PATCH requests
+
+
+[cite]: http://jsonapi.org/format/#url-based-json-api \ No newline at end of file