Индексы списка должны быть целыми числами или срезами, а не dict в django

Я просто хочу просмотреть список данных JSON, которые я получаю в полезной нагрузке, но получаю ошибку list indices must be integers or slices, not dict

payload:

  [{"AuditorId":10,"Agents":"sa","Supervisor":"sa","TicketId":"58742","QId":150,"Answer":"Yes","TypeSelected":"CMT Mails","Comments":"na","TicketType":"Regularticket","Action":"na","AuditSubFunction":"na","AuditRegion":"na"},{"AuditorId":10,"Agents":"sa","Supervisor":"sa","TicketId":"58742","QId":151,"Answer":"Yes","TypeSelected":"CMT Mails","Comments":"na","TicketType":"Regularticket","Action":"na","AuditSubFunction":"na","AuditRegion":"na"}]

views.py:

@api_view(['POST'])
def SaveUserResponse(request):

    for ran in request.data:
        
        auditorid = request.data[ran].get('AuditorId')
        ticketid = request.data[ran].get('TicketId')
        qid = request.data[ran].get('QId')
        answer = request.data[ran].get('Answer')
        sid = '0'
        TicketType = request.data[ran].get('TicketType')
        TypeSelected = request.data[ran].get('TypeSelected')
        agents = request.data[ran].get('Agents')
        supervisor = request.data[ran].get('Supervisor')
        Comments = request.data[ran].get('Comments')
        action = request.data[ran].get('Action')
        subfunction = request.data[ran].get('AuditSubFunction')
        region = request.data[ran].get('AuditRegion')
       
        cursor = connection.cursor()
        cursor.execute('EXEC [dbo].[sp_SaveAuditResponse] @auditorid=%s,@ticketid=%s,@qid=%s,@answer=%s,@sid=%s,@TicketType=%s,@TypeSelected=%s,@agents=%s, @supervisor =%s, @Comments=%s, @action=%s, @subfunction=%s, @region=%s',
         (auditorid,ticketid,qid,answer, sid,TicketType, TypeSelected, agents, supervisor, Comments, action, subfunction,region))
        return Response(True)
      

Я запустил этот код на своей машине, и он работает для предоставленной вами полезной нагрузки.

@api_view(['POST'])
def SaveUserResponse(request):

    for ran in request.data:
        auditorid = ran.get('AuditorId')
        ticketid = ran.get('TicketId')
        qid = ran.get('QId')
        answer = ran.get('Answer')
        sid = '0'
        TicketType = ran.get('TicketType')
        TypeSelected = ran.get('TypeSelected')
        agents = ran.get('Agents')
        supervisor = ran.get('Supervisor')
        Comments = ran.get('Comments')
        action = ran.get('Action')
        subfunction = ran.get('AuditSubFunction')
        region = ran.get('AuditRegion')

Если нет, то содержимое request.data должно отличаться от полезной нагрузки, которую вы указали в исходном сообщении

Вернуться на верх