aboutsummaryrefslogtreecommitdiffstats
path: root/tutorial/1-serialization/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'tutorial/1-serialization/index.html')
-rw-r--r--tutorial/1-serialization/index.html24
1 files changed, 12 insertions, 12 deletions
diff --git a/tutorial/1-serialization/index.html b/tutorial/1-serialization/index.html
index dda47f72..9b5ffb35 100644
--- a/tutorial/1-serialization/index.html
+++ b/tutorial/1-serialization/index.html
@@ -483,7 +483,7 @@ from snippets.models import Snippet, LANGUAGE_CHOICES, STYLE_CHOICES
class SnippetSerializer(serializers.Serializer):
pk = serializers.IntegerField(read_only=True)
- title = serializers.CharField(required=False,
+ title = serializers.CharField(required=False, allow_blank=True
max_length=100)
code = serializers.CharField(style={'type': 'textarea'})
linenos = serializers.BooleanField(required=False)
@@ -492,21 +492,21 @@ class SnippetSerializer(serializers.Serializer):
style = serializers.ChoiceField(choices=STYLE_CHOICES,
default='friendly')
- def create(self, validated_attrs):
+ def create(self, validated_data):
"""
Create and return a new `Snippet` instance, given the validated data.
"""
- return Snippet.objects.create(**validated_attrs)
+ return Snippet.objects.create(**validated_data)
- def update(self, instance, validated_attrs):
+ def update(self, instance, validated_data):
"""
Update and return an existing `Snippet` instance, given the validated data.
"""
- instance.title = validated_attrs.get('title', instance.title)
- instance.code = validated_attrs.get('code', instance.code)
- instance.linenos = validated_attrs.get('linenos', instance.linenos)
- instance.language = validated_attrs.get('language', instance.language)
- instance.style = validated_attrs.get('style', instance.style)
+ instance.title = validated_data.get('title', instance.title)
+ instance.code = validated_data.get('code', instance.code)
+ instance.linenos = validated_data.get('linenos', instance.linenos)
+ instance.language = validated_data.get('language', instance.language)
+ instance.style = validated_data.get('style', instance.style)
instance.save()
return instance
</code></pre>
@@ -552,7 +552,7 @@ data = JSONParser().parse(stream)
<pre><code>serializer = SnippetSerializer(data=data)
serializer.is_valid()
# True
-serializer.object
+serializer.save()
# &lt;Snippet: Snippet object&gt;
</code></pre>
<p>Notice how similar the API is to working with forms. The similarity should become even more apparent when we start writing views that use our serializer.</p>
@@ -574,7 +574,7 @@ Open the file <code>snippets/serializers.py</code> again, and edit the <code>Sni
<p>One nice property that serializers have is that you can inspect all the fields in a serializer instance, by printing it's representation. Open the Django shell with <code>python manange.py shell</code>, then try the following:</p>
<pre><code>&gt;&gt;&gt; from snippets.serializers import SnippetSerializer
&gt;&gt;&gt; serializer = SnippetSerializer()
-&gt;&gt;&gt; print repr(serializer) # In python 3 use `print(repr(serializer))`
+&gt;&gt;&gt; print(repr(serializer))
SnippetSerializer():
id = IntegerField(label='ID', read_only=True)
title = CharField(allow_blank=True, max_length=100, required=False)
@@ -657,7 +657,7 @@ def snippet_detail(request, pk):
return HttpResponse(status=204)
</code></pre>
<p>Finally we need to wire these views up. Create the <code>snippets/urls.py</code> file:</p>
-<pre><code>from django.conf.urls import patterns, url
+<pre><code>from django.conf.urls import url
from snippets import views
urlpatterns = [