diff options
| author | Tom Christie | 2014-12-18 11:21:25 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-12-18 11:21:25 +0000 |
| commit | c8d88c8c8a594e3b66547a34462db4766292ea9e (patch) | |
| tree | 09d1e53c9c019501b85ff8892dca4177c95a6e0b /docs/api-guide/serializers.md | |
| parent | 47fe6977077ae33dfe2f8b6d04d81083b9b9f4d7 (diff) | |
| parent | d8803a35bd2dc8cbf4c892f68b48c72f24e83916 (diff) | |
| download | django-rest-framework-c8d88c8c8a594e3b66547a34462db4766292ea9e.tar.bz2 | |
Merge branch 'master' into version-3.1
Diffstat (limited to 'docs/api-guide/serializers.md')
| -rw-r--r-- | docs/api-guide/serializers.md | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/docs/api-guide/serializers.md b/docs/api-guide/serializers.md index 5fe6b4c2..b9f0e7bc 100644 --- a/docs/api-guide/serializers.md +++ b/docs/api-guide/serializers.md @@ -22,11 +22,13 @@ The serializers in REST framework work very similarly to Django's `Form` and `Mo Let's start by creating a simple object we can use for example purposes: + from datetime import datetime + class Comment(object): def __init__(self, email, content, created=None): self.email = email self.content = content - self.created = created or datetime.datetime.now() + self.created = created or datetime.now() comment = Comment(email='leila@example.com', content='foo bar') @@ -61,10 +63,10 @@ At this point we've translated the model instance into Python native datatypes. Deserialization is similar. First we parse a stream into Python native datatypes... - from StringIO import StringIO + from django.utils.six import BytesIO from rest_framework.parsers import JSONParser - stream = StringIO(json) + stream = BytesIO(json) data = JSONParser().parse(stream) ...then we restore those native datatypes into a dictionary of validated data. @@ -240,6 +242,12 @@ Serializer classes can also include reusable validators that are applied to the For more information see the [validators documentation](validators.md). +## Accessing the initial data and instance + +When passing an initial object or queryset to a serializer instance, the object will be made available as `.instance`. If no initial object is passed then the `.instance` attribute will be `None`. + +When passing data to a serializer instance, the unmodified data will be made available as `.initial_data`. If the data keyword argument is not passed then the `.initial_data` attribute will not exist. + ## Partial updates By default, serializers must be passed values for all required fields or they will raise validation errors. You can use the `partial` argument in order to allow partial updates. |
