我正在尝试为User和Profile模型编写嵌套的序列化程序,我正在遵循这个示例:
class UserSerializer(serializers.ModelSerializer):profile = ProfileSerializer()
class Meta:
model = User
fields = ('username', 'email', 'profile')
def create(self, validated_data):
profile_data = validated_data.pop('profile')
user = User.objects.create(**validated_data)
Profile.objects.create(user=user, **profile_data)
return user
但我得到这个错误:
{
"profile": {
"user": [
"This field is required."
]
}
}
我甚至试图将它添加到验证异常中,如下所示:
def get_validation_exclusions(self):
exclusions = super(ProfileSerializer,
self).get_validation_exclusions()
return exclusions + ['user']
我想通过添加以下内容解决了这个问题:
user = serializers.ModelField(model_field=Profile()._meta.get_field(
'user'), required=False)
但我还不确定 .
1 回答
我想通过添加以下内容解决了这个问题:
但我还不确定,因为我似乎在其他地方遇到错误 .