aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamie Matthews2012-11-20 13:25:21 +0000
committerJamie Matthews2012-11-20 13:25:21 +0000
commit5f4c385a86b877217c1e1bc2eaff58206eabb747 (patch)
treec213dda6fb24e4a1d1c4706295a4764309b44973
parent3ab8c4966d065e930bd6e8bc6c26934ae5c5918c (diff)
downloaddjango-rest-framework-5f4c385a86b877217c1e1bc2eaff58206eabb747.tar.bz2
Add example use of SerializerMethodField to docs
-rw-r--r--docs/api-guide/fields.md16
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