2013-05-07 77 views
6

我已經定義了一個用戶配置文件模型,但希望有一個api端點將所有用戶數據保存到兩個模型中。我的意思是,我使用的是用戶模式,我定義爲USERPROFILE模型如下如何使用DjangoRestFramework序列化爲多個模型

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

當我定義了一個串行器創建一個新用戶,我怎麼得到它的序列化數據到兩個用戶模型和userProfile模型?

回答

18

你只需要定義每個串行,並且附上一個到另一個,如下:

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更新(或執行其他操作來)用戶配置文件和其用戶實例。

相關問題