Django REST Serializer Method Writable Field
<p>I'm reading up on Django REST Framework and I have a model that is serialized with getters using the <a href="http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield" rel="noreferrer">SerializerMethodField()</a>.</p>

<p>However, when I POST to this endpoint, I want to be able to set this field as well, but that doesn't work because, as the docs show above, you can't write to a SerializerMethodField. Is there any way in Django REST to have a serializer field that you define a custom getter method for, and a custom setter method?</p>

<p>EDIT: Here's the source of what I'm trying to do. Client has a 1-to-1 relationship with User.</p>

<pre><code>class ClientSerializer(serializers.ModelSerializer):
    email = serializers.SerializerMethodField()

    def create(self, validated_data):
        email = validated_data.get("email", None) # This doesn't work because email isn't passed into validated_data because it's a readonly field
        # create the client and associated user here


    def get_email(self, obj):
        return obj.user.email

    class Meta:
        model = Client
        fields = (
            "id",
            "email",
        )
</code></pre>