Ошибка утверждения - вызов метода в другом методе в Django

Я создал два API ("startshift", "endshift"), когда пользователь нажимает на кнопку "startshift" и "endshift", вызывается еще один API "UserShiftDetailsAPI", который возвращает различные ответы в зависимости от выбора пользователем кнопки. Эти API работают правильно. Как я могу добиться этого

Я создал условный оператор в "UserShiftDetailsAPI" для обоих "UserStartShift" и "UserStopShift", но он выдает ошибку утверждения. Я не знаю, как вызвать оба метода API внутри функции.

Вот, что я пробовал

views.py:

startshift

@api_view(['POST', 'GET']) 
def UserStartShift(request):
  
    if request.method == 'GET':
         users = tblUserShiftDetails.objects.all()
         serializer = UserShiftStartSerializers(users, many=True)
         return Response(serializer.data)


    if request.method == 'POST':
     
               UserId = request.data.get('UserId')
               Ip = request.data.get('Ip')
               PortNumber = request.data.get('PortNumber')

               cursor = connection.cursor()
               r=cursor.execute('EXEC [dbo].[Usp_StartShift]  @UserId=%s, @IP=%s, @Port=%s', (UserId,  Ip, PortNumber,))
         
               return Response(True, status=status.HTTP_200_OK)

  

endshift

@api_view(['GET', 'POST']) 
def UserStopShift(request, UserId):
    if request.method == 'GET':
        cursor = connection.cursor()
        cursor.execute('EXEC [dbo].[USP_StopShift] @UserId=%s',(UserId,))          
        return Response(True)

    elif request.method == 'POST':
        serializer = UserShiftEndSerializers(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

В методе GET я применил условие, но он показывает ошибку. Он должен возвращать ответ на основе метода "UserStartShift и "UserStopShift""

UserShiftDetails

@api_view(['GET'])
def UserShiftDetailsView(request, userid):

    try:
        users = tblUserShiftDetails.objects.filter(UserId=userid)
    except tblUserShiftDetails.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':

        if UserStartShift == True:
            cursor = connection.cursor()
            cursor.execute('EXEC [dbo].[USP_GetCurrentShiftDetails] @UserId=%s',(userid,))
            result_set = cursor.fetchall()
         
            for row in result_set:
                row = row[0]
            return Response({"IsStarted":True,"EstimatedShifEnd":(row + datetime.timedelta(hours=9)).strftime('%d-%m-%Y %H:%M  %p'),"ReasonforAccess": "null"})
      
        elif UserStopShift == True :
            cursor = connection.cursor()
            cursor.execute('EXEC [dbo].[USP_GetCurrentShiftDetails] @UserId=%s',(userid,))
            result_set = cursor.fetchall()
          
            for row in result_set:
                row = row[0]
            return Response({"IsStarted":False,"EstimatedShifEnd":"null","ReasonforAccess": "null"})
Вернуться на верх