Boa tarde, amigos.
Possuo o seguinte serializer:
class PhoneSerializer(serializers.ModelSerializer):
class Meta:
model = Phone
fields = ['id', 'client', 'ddd', 'number']
Recebo um POST com o seguinte JSON:
{
"name": "Alan",
"phones": [
{
"number": "9123456789",
"ddd": "33"
}
]
}
Quando passo o Client pelo seu serializer, tudo ocorre bem, então pego seu id para poder enviar junto com os itens da lista "phones" para o serializer acima citado, desta forma:
@api_view(['POST'])
def register(request):
if request.POST:
serializer = ClientSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
for phone in request.data["phones"]:
phone['client'] = serializer.data['id']
phone = PhoneSerializer(data=phone)
if phone.is_valid():
phone.save()
else:
return Response(phone.errors, status=400)
Porém estou recebendo o seguinte erro quando eu rodo o teste:
File "/code/backend/views.py", line 16, in register
phone['client'] = serializer.data['id']
TypeError: 'str' object does not support item assignment
Alguém poderia me orientar? Desde já agradeço.