在 Django rest-framework 中只从数据库返回一个响应
returning only one response from the database in Django rest-framework
我正在尝试 return 使用这种方法 SQL 的所有结果我能够检索它,但它是静态的。
我试过循环 result_set
但它 return 只是 5 个响应中的第一个响应,但我想 return 所有 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)```
我正在尝试 return 使用这种方法 SQL 的所有结果我能够检索它,但它是静态的。
我试过循环 result_set
但它 return 只是 5 个响应中的第一个响应,但我想 return 所有 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)```