Ошибка программирования: Результат не найден Предыдущий SQL не был запросом в Django
Я отправляю пост запрос в хранимую процедуру SQL, где я не смог передать SQL, он показывает, что результата нет.
Я попробовал тот же подход для другого API и передал его другой хранимой процедуре, которая сработала хорошо.
Programming Error at /api/Data/StartShift/
No results. Previous SQL was not a query.
views.py:
Здесь "IP" пуст
@api_view(['POST', 'GET'])
def UserStartShift(request):
if request.method == 'GET':
users = tblUserShiftDetails.objects.all()
serializer = UserShiftStartSerializers(users, many=True)
return Response(serializer.data)
elif request.method == 'POST':
UserId = request.POST.get('UserId')
Ip = request.POST.get('Ip')
PortNumber = request.POST.get('PortNumber')
print("UserId-->", UserId)
print("Ip-->", Ip)
print('Portnumber-->', PortNumber)
cursor = connection.cursor()
cursor.execute('EXEC [dbo].[Usp_StartShift] @UserId=%s, @IP=%s, @Port=%s', (UserId, Ip, PortNumber,))
result_set = cursor.fetchall()
response_data=[]
for row in result_set:
response_data.append(
{
"UserId":row[0],
"Ip":row[1],
'PortNumber':row[2]
}
)
return Response(response_data, status=status.HTTP_200_OK)
Вот хранимая процедура, к которой я пытался обратиться из Django
SP:
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[Usp_StartShift]
@UserId varchar(100),
@IP nvarchar(255),
@Port nvarchar(255)
as
begin
insert into tblUserShiftDetails(UserId, IPAddress, PortNumber)
values(@userid,@ip,'CD_'+@port)
end