0
Dans mon sérialiseur, j'ai un champ qui n'est pas requis.Le cadre de repos Django renvoie le champ non obligatoire
Lorsque je sérialise une instance de modèle, ce champ n'est pas dans la sortie.
Comment puis-je l'inclure dans la sortie?
class Client(models.Model):
user = models.OneToOneField(User)
profile_photo = models.ImageField(upload_to='pictures/profile_photos')
phone = models.CharField(max_length=100, default="")
class ClientSerializer(serializers.ModelSerializer):
username = serializers.CharField(source='user.username')
profile_photo = serializers.ImageField(source='details_sample.profile_photo', required=False)
class Meta:
model = Client
fields = ('id', 'username', 'profile_photo', 'phone')
@api_view(['GET'])
def get_user_info(request):
client = Client.objects.get(user=request.user)
serialized = ClientSerializer(client)
return Response(serialized.data) # no profile_photo
Pouvez-vous m'aider?
Je ne sais pas Django, mais je pense que la source de l'image est fausse. Vous dites 'details_sample.profile_photo' mais il n'y a pas de champ details_sample dans l'instance Client. Essayez 'source = 'profile_photo''. C'est juste une supposition de toute façon. – yacc
Changez votre serializer en source = 'profile_photo' et il devrait fonctionner. – user6399774