Как выйти из цикла в 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)