0
シリアライザでは、必須ではないフィールドが設定されています。Django rest framework return必須ではないフィールド
モデルインスタンスをシリアル化すると、このフィールドは出力されません。
これを出力に含めるにはどうすればよいですか?
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
私を助けてくれますか?これは動作するはず
を私はジャンゴを知らないが、私は画像のソースが間違っていると思います。 'details_sample.profile_photo'と言うが、Clientインスタンスにdetails_sampleフィールドはありません。 'source = 'profile_photo'を試してください。とにかくそれはちょうど推測です。 – yacc
シリアライザをsource = 'profile_photo'に変更してください。 – user6399774