2017-09-04 172 views
0

如何找到一個關係對象以及如何保存與Django Rest框架關係的對象?有關係的Django Rest框架對象

我看的文檔中,發現類似這樣

class UserSerializer(serializers.ModelSerializer): 
    profile = ProfileSerializer() 
    class Meta: 
     model = User 
     fields = ('username', 'email', 'first_name', 'last_name', 'profile') 



class ProfileSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Profile 
     fields = ('nome_empresa', 'cnpj') 

配置= ProfileSerializer() NameError東西:名稱 'ProfileSerializer' 沒有定義

+0

你有有效的數據和割草你需要寫關係? –

+0

嗨,我正在嘗試通過。 –

+0

DEF得到(個體,請求,格式=無): 用戶= User.objects.get(ID = request.user.id) 的user_data = UserSerializer(用戶) 返回響應(user_data.data) –

回答

0

Python是不是編譯語言。一切都是在運行時創建/完成的。

在下面一行:

profile = ProfileSerializer() 

您使用的是ProfileSerializer,但在這一點上還沒有建立。它稍後創建。爲了解決這個問題,你需要把它UserSerializer課前:

class ProfileSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Profile 
     fields = ('nome_empresa', 'cnpj') 

class UserSerializer(serializers.ModelSerializer): 
    profile = ProfileSerializer() 
    class Meta: 
     model = User 
     fields = ('username', 'email', 'first_name', 'last_name', 'profile') 

希望它能幫助!