Возврат только одного ответа из базы данных в Django rest-framework
Я пытаюсь вернуть все результаты из SQL, используя этот подход, я могу получить их, но они статические.
Я пробовал зацикливать result_set, но он возвращает только первый ответ из 5 ответов, но я хочу вернуть все 5 ответов.
Вот, что я пробовал
ожидаемый ответ:
[{"Value8":"Avail-On queue","Value1":"Avail-On queue"},{"Value8":"Coaching","Value1":"Coaching"},{"Value8":"Huddle","Value1":"Huddle"},{"Value8":"Outage","Value1":"Outage"},{"Value8":"Training","Value1":"Training"}]
views.py:
@api_view(['GET'])
def GetClaimsActivity(request, UserId):
if request.method == 'GET':
cursor = connection.cursor()
cursor.execute('EXEC [dbo].[sp_GetClaimsPlusActivity] @UserId=%s', (UserId,))
result_set = cursor.fetchall()
data = []
# for row in result_set:
#data.append({
#'Value8':row[0],
#'Value1':row[0],
#})
#return Reponse(data)
data = []
data.append({
'Value8':result_set[0][0],
'Value1':result_set[0][0],
})
data.append({
'Value8':result_set[1][0],
'Value1':result_set[1][0],
})
data.append({
'Value8':result_set[2][0],
'Value1':result_set[2][0],
})
data.append({
'Value8':result_set[3][0],
'Value1':result_set[3][0],
})
data.append({
'Value8':result_set[4][0],
'Value1':result_set[4][0],
})
return Response(data)
Попробуйте это
@api_view(['GET'])
def GetClaimsActivity(request, UserId):
if request.method == 'GET':
cursor = connection.cursor()
cursor.execute('EXEC [dbo].[sp_GetClaimsPlusActivity] @UserId=%s', (UserId,))
result_set = cursor.fetchall()
data = []
for i in range(len(result_set)):
data.append({
'Value8':result_set[i][0],
'Value1':result_set[i][0],
})
return Reponse(data)```