TypeError: индексы списка должны быть целыми числами или срезами, а не dict
Я пытаюсь вернуть все данные JSON из полезной нагрузки, но он выдает ошибку TypeError: list indices must be integers or slices, not dict.
Когда я print(request.data), он просто возвращает все данные JSON, но когда я делаю цикл for, он выдает ошибку
Вот, что я пробовал
views.py:
@api_view(['POST'])
def SaveUserResponse(request):
if request.method == 'POST':
for i in request.data:
print(request.data)
auditorid =request.data[i]['AuditorId']
print('SaveUserResponse auditorid---', auditorid)
ticketid =request.data[i]['TicketId']
qid = request.data[i]['QId']
answer = request.data[i]['Answer']
sid = request.data[i]['SID']
print('sid--', sid)
cursor = connection.cursor()
cursor.execute('EXEC [dbo].[sp_SaveAuditResponses] @auditorid=%s,@ticketid=%s,@qid=%s,@answer=%s,@sid=%s',
(auditorid,ticketid,qid,answer, sid,))
result_st = cursor.fetchall()
for row in result_st:
print('sp_SaveAuditResponse', row[0])
return Response(row[0])
return sid
JSON полезная нагрузка:
Предполагая, что полученные данные имеют форму словаря, попробуйте сделать следующее:
for i in request.data.keys():
Таким образом вы пройдете по всем ключам словаря, и последующая индексация тоже будет работать.