我有3個連接的模型:User - > UserProfile - > BuyerProfile,當用戶創建一個帳戶時,我想要創建一個User,然後是UserProfile,然後是BuyerProfile。我使用的是ModelSerializer,但是當我用瀏覽的API,使後,我得到:使用三個嵌套模型創建模型實例? Django Rest 3.1
{
"userprofile": {
"user": [
"This field is required."
]
}
}
如何做到這一點任何想法?
class BuyerProfileViewSet(viewsets.ModelViewSet):
queryset = BuyerProfile.objects.all()
serializer_class = BuyerProfileSerializer
串行器:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('username',)
class UserProfileSerializer(serializers.HyperlinkedModelSerializer):
user = UserSerializer()
class Meta:
model = UserProfile
fields = ('user', 'bio','prof_type')
class BuyerProfileSerializer(serializers.HyperlinkedModelSerializer):
userprofile = UserProfileSerializer()
class Meta:
model = BuyerProfile
fields = ('userprofile', 'company','sitename')
1.請出示什麼樣的數據串行接收。 2.請在問題中添加restframework版本。 – zymud
你是什麼意思「什麼數據串行器接收」?你的意思是不同的序列化程序?我也增加了版本 – user1835351