aboutsummaryrefslogtreecommitdiffstats
path: root/docs/tutorial
diff options
context:
space:
mode:
authorTom Christie2012-11-01 23:04:13 +0000
committerTom Christie2012-11-01 23:04:13 +0000
commitd327c5f531b341ad980d20454211b02b87f34d0e (patch)
treea12f9fd53c73f7e9b4dd06785e3d357259e0a678 /docs/tutorial
parent027c9079f62322fe933bdfd4438f23cf4848e3cc (diff)
downloaddjango-rest-framework-d327c5f531b341ad980d20454211b02b87f34d0e.tar.bz2
Relational field support in browseable API.
Add slug relational fields. Add quickstart.
Diffstat (limited to 'docs/tutorial')
-rw-r--r--docs/tutorial/quickstart.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/docs/tutorial/quickstart.md b/docs/tutorial/quickstart.md
index 6bde725b..93da1a59 100644
--- a/docs/tutorial/quickstart.md
+++ b/docs/tutorial/quickstart.md
@@ -19,12 +19,19 @@ First up we're going to define some serializers in `quickstart/serializers.py` t
class GroupSerializer(serializers.HyperlinkedModelSerializer):
+ permissions = serializers.ManySlugRelatedField(
+ slug_field='codename',
+ queryset=Permission.objects.all()
+ )
+
class Meta:
model = Group
fields = ('url', 'name', 'permissions')
Notice that we're using hyperlinked relations in this case, with `HyperlinkedModelSerializer`. You can also use primary key and various other relationships, but hyperlinking is good RESTful design.
+We've also overridden the `permission` field on the `GroupSerializer`. In this case we don't want to use a hyperlinked representation, but instead use the list of permission codenames associated with the group, so we've used a `ManySlugRelatedField`, using the `codename` field for the representation.
+
## Views
Right, we'd better write some views then. Open `quickstart/views.py` and get typing.
@@ -152,7 +159,7 @@ We can now access our API, both from the command-line, using tools like `curl`..
},
{
"email": "tom@example.com",
- "groups": [],
+ "groups": [ ],
"url": "http://127.0.0.1:8000/users/2/",
"username": "tom"
}