Je suis en train d'écrire un sérialiseur imbriquée pour les modèles de l'utilisateur et le profil et je suis cet exemple:Django sérialiseur imbriqué Rest-cadre pour POST
classe UserSerializer (serializers.ModelSerializer): profil = 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
Mais Im obtenir cette erreur:
{
"profile": {
"user": [
"This field is required."
]
}
}
J'ai même essayé d'ajouter à des exceptions de validation, comme ceci:
def get_validation_exclusions(self):
exclusions = super(ProfileSerializer,
self).get_validation_exclusions()
return exclusions + ['user']
Je pense que je l'ai résolu en ajoutant ceci:
user = serializers.ModelField(model_field=Profile()._meta.get_field(
'user'), required=False)
Mais je ne suis pas encore sûr.