2013-05-07 24 views
6

Kullanıcı profili modelini tanımladım, ancak tüm kullanıcı verilerini her iki modele kaydeden bir api uç noktasına sahip olmak istiyorum. Demek istediğimiz, ben kullanıcı modeli kullanıyorum ve ben yeni bir kullanıcı oluşturmak için bir seri hale tanımladığınızda olarak tanımlanan bir userprofile modeliDjangoRestFramework kullanarak birden fazla modele serileştirme

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

aşağıdaki var, nasıl kullanıcıya hem veri seri hale getirmek alırım model ve userProfile modeli?

cevap

18
aşağıdaki gibi sadece, her biri için bir seri hale tanımlamak, ve birini ötekinin takmak gerekir

: Daha sonra güncelleştirmek için UserProfileSerializer kullanmak (ya da diğer eylemleri gerçekleştirmek) bir kullanıcı profili ve olabilir

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 

onun kullanıcı örneği.

İlgili konular