Как выйти из цикла в python

Я перебираю все строки и хочу вернуть их, но даже после перебора всех строк и даже сохранения данных в базе данных, я не могу выйти из нее, из-за чего получаю ошибку 'str' object has no attribute 'get'. Я не знаю, где я ошибаюсь

Вот что я попробовал

Views.py:

@api_view(['POST'])
def SaveUserResponse(request):
  if request.method == 'POST': 

    cursor = connection.cursor()
    if request.data:
        for ran in  request.data:

            auditorid =ran.get('AuditorId')
            print('SaveUserResponse auditorid---', auditorid)
            ticketid = ran.get('TicketId')
            Agents = ran.get('Agents')
            Comments = ran.get('Comments')
            Supervisor = ran.get('Supervisor')
            

            sid = 0
            print('sid--', sid)
            qid = ran.get('QId')
            print('qid---', qid)
            answer = ran.get('Answer')

            cursor.execute('EXEC [dbo].[sp_SaveAuditResponse] @auditorid=%s,@ticketid=%s,@qid=%s,@answer=%s,@sid=%s',
                                        (auditorid,ticketid,qid,answer, sid))
            result_st = cursor.fetchall()
            print('sp_SaveAuditResponse', result_st)

       
        for row in result_st:
            print('sp_SaveAuditResponse', row)
        return Response(row[0])
    
    print('after after')
    return Response(0)

Вот полезная нагрузка:

    [{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":42,"Answer":"2","SID":"0","Comments":""}, 

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":43,"Answer":"2","SID":"0","Comments":""},  

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":44,"Answer":"2","SID":"0","Comments":""}, 

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":45,"Answer":"2","SID":"0","Comments":""}, 

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":46,"Answer":"3","SID":"0","Comments":""}, 
{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":47,"Answer":"5","SID":"0","Comments":""}, 

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":48,"Answer":"5","SID":"0","Comments":""}, 

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":49,"Answer":"2","SID":"0","Comments":""}, 

{"AuditorId":130,"Agents":"","Supervisor":"","TicketId":"325423432","QId":50,"Answer":"5","SID":"0","Comments":""}]

Один из ваших request.data является не dict, а строкой, чтобы узнать, где появляется это неправильное значение, попробуйте что-нибудь вроде :

if request.data:
    for index, ran in enumerate(request.data):

        if isInstance(if isinstance(element, dict)):
              // retrieve data
        else:
              print(str(index), ran)
Вернуться на верх