diff options
| author | Jamie Matthews | 2012-11-20 13:25:21 +0000 |
|---|---|---|
| committer | Jamie Matthews | 2012-11-20 13:25:21 +0000 |
| commit | 5f4c385a86b877217c1e1bc2eaff58206eabb747 (patch) | |
| tree | c213dda6fb24e4a1d1c4706295a4764309b44973 | |
| parent | 3ab8c4966d065e930bd6e8bc6c26934ae5c5918c (diff) | |
| download | django-rest-framework-5f4c385a86b877217c1e1bc2eaff58206eabb747.tar.bz2 | |
Add example use of SerializerMethodField to docs
| -rw-r--r-- | docs/api-guide/fields.md | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/docs/api-guide/fields.md b/docs/api-guide/fields.md index ebfb5d47..914d0861 100644 --- a/docs/api-guide/fields.md +++ b/docs/api-guide/fields.md @@ -328,7 +328,21 @@ This field is always read-only. ## SerializerMethodField -This is a read-only field. It gets its value by calling a method on the serializer class it is attached to. It can be used to add any sort of data to the serialized representation of your object. The field's constructor accepts a single argument, which is the name of the method on the serializer to be called. The method should accept a single argument (in addition to `self`), which is the object being serialized. It should return whatever you want to be included in the serialized representation of the object. +This is a read-only field. It gets its value by calling a method on the serializer class it is attached to. It can be used to add any sort of data to the serialized representation of your object. The field's constructor accepts a single argument, which is the name of the method on the serializer to be called. The method should accept a single argument (in addition to `self`), which is the object being serialized. It should return whatever you want to be included in the serialized representation of the object. For example: + + from rest_framework import serializers + from django.contrib.auth.models import User + from django.utils.timezone import now + + class UserSerializer(serializers.ModelSerializer): + + days_since_joined = serializers.SerializerMethodField('get_days_since_joined') + + class Meta: + model = User + + def get_days_since_joined(self, obj): + return (now() - obj.date_joined).days [cite]: http://www.python.org/dev/peps/pep-0020/ [FILE_UPLOAD_HANDLERS]: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FILE_UPLOAD_HANDLERS |
