Ошибка атрибута Объект 'list' не имеет атрибута 'get' в Django

У меня возникла проблема при получении данных методом 'POST' Я получаю ошибку Attribute Error at api/Data/SaveUserResponse/ 'list' object has no attribute 'get' Django .

Ответ, который я получаю в полезной нагрузке

[{"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):
    if request.method == 'POST':
    
        auditorid = request.data.get('AuditorId')
        print('auditorid---', auditorid)
        ticketid = request.data.get('TicketId')
        qid = request.data.get('QId')
        answer = request.data.get('Answer')
        sid = '0'
        TicketType = request.data.get('TicketType')
        TypeSelected = request.data.get('TypeSelected')
        agents = request.data.get('Agents')
        supervisor = request.data.get('Supervisor')
        Comments = request.data.get('Comments')
        action = request.data.get('Action')
        subfunction = request.data.get('AuditSubFunction')
        region = request.data.get('AuditRegion')
        print('Region---', region)
        

        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)

urls.py:

 path('Data/SaveUserResponse/', SaveUserResponse, name='SaveUserResponse'),

request.data - это список с одним элементом, исходя из вашей ошибки, вам нужен первый элемент.

Для этого можно использовать json.loads:

@api_view(['POST',])
def SaveUserResponse(request):
    if request.method == 'POST':      
         auditorid = request.data[0].get('AuditorId') # notice the [0]
         print('auditorid---', auditorid)
         ...
Вернуться на верх