Итерация и добавление значения в JSON в python

Я пытаюсь выполнить итерацию и добавить QId и Answer из полезной нагрузки, желаемый результат будет выглядеть как 12|Yes&&13|Yes&&14|Yes&&15|Yes&&16|Yes&&17|Yes&&18|Yes&&19|Yes&&.

Я пытался получить только 12|Yes&& и 13|Yes&& отдельно. Все, что я хотел, это конкатенировать QId и Answer перед сохранением в базе данных. Как я могу этого добиться

Qstans = str(qid)+'|'+ answer+'&&' эта строка, которая добавляет значения

payload

0: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "Yes", QId: 150…}
1: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "No", QId: 151…}
2: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "Yes", QId: 152…}
3: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "Yes", QId: 153…}
4: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "No", QId: 154…}
5: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "Yes", QId: 155…}
6: {AuditorId: 10, Agents: "Joshi", Supervisor: "Prabhu", TicketId: "HRR6506691",Answer: "No", QId: 156…}

Что я пробовал @api_view(['POST']) def SaveUserResponse(request):

if request.method == 'POST':

data = []
cursor = connection.cursor()
for ran in request.data:
    auditorid =ran.get('AuditorId')
    print('SaveUserResponse auditorid---', auditorid)
    ticketid = ran.get('TicketId')
    qid = ran.get('QId')
    answer = ran.get('Answer')
    sid =  ran.get('SID')
    print('sid--', sid)
    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')
    
    //Qstans = str(qid)+'|'+ answer+'&&'
    for qid in Qstans:
      Qstans = str(qid)+'|'+ answer+'&&'
      print(Qstans)
    
    cursor.execute('EXEC [dbo].[sp_SaveAuditResponse] @auditorid=%s,@agents=%s,@supervisor=%s,@ticketid=%s,@Qstans=%s,@sid=%s,@TicketType=%s,@TypeSelected=%s, @Comments =%s, @action=%s, @subfunction=%s, @region=%s',
     (auditorid,agents,supervisor,ticketid, Qstans,sid, TicketType, TypeSelected, Comments, action, subfunction,region))
    result_st = cursor.fetchall()
    for row in result_st:
        row = row[0]
return Response({0:{'Status':row}})

Попробуйте "&&".join([f "p['Answer']|p['Qid']" for p in payload])

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