2013-05-07 12 views
6

ユーザプロファイルモデルを定義しましたが、すべてのユーザデータを両方のモデルに保存する1つのapiエンドポイントが必要です。それによって私は意味、私はユーザモデルを使用していますが、私は、新しいユーザーを作成するためのシリアライザを定義するときのように定義されたUSERPROFILEモデルがDjangoRestFrameworkを使用して複数のモデルにシリアライズする方法

class UserProfile(models.Model): 
    user = models.OneToOneField(settings.AUTH_USER_MODEL) 
    biography = models.TextField() 

を以下の持って、どのように私はそれがユーザーの両方にデータをシリアライズするのですかモデル、userProfileモデル?

答えて

18
あなただけの、次のように、それぞれのシリアライザを定義し、他の1つを添付する必要があり

from rest_framework.serializers import ModelSerializer 

class UserSerializer(ModelSerializer): 
    """ 
    A serializer for ``User``. 
    """ 
    class Meta(object): 
     model = User 


class UserProfileSerializer(ModelSerializer): 
    """ 
    A serializer for ``UserProfile``. 
    """ 
    user = UserSerializer() 

    class Meta(object): 
     model = UserProfile 

あなたは、その後の更新(または他のアクションへを実行)するUserProfileSerializerを使用することができ、ユーザープロファイルとそのユーザーインスタンス。

関連する問題