2013-05-07 3 views
6

사용자 프로필 모델을 정의했지만 모든 사용자 데이터를 두 모델에 모두 저장하는 하나의 API 끝점을 갖고 싶습니다. 그함으로써 내 말은, 사용자 모델을 사용하고 있는데 나는 새 사용자를 생성하는 시리얼 라이저를 정의 할 때로 정의 된 사용자 프로필 모델DjangoRestFramework를 사용하여 여러 모델로 직렬화하는 방법

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

다음이, 어떻게하면 사용자 모두에 데이터를 직렬화받을 수 있나요 모델 및 userProfile 모델?

답변

18
다음과 같이 그냥, 각각에 대한 serializer를 정의하고 다른 하나를 연결해야

: 그런 다음 업데이트 할 UserProfileSerializer를 사용 (또는 다른 행동을 수행) 사용자 프로필 및 수

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 

의 사용자 인스턴스.