imran_44
imran_44

Reputation: 329

How to access the return value from outside the function in Django

I wanted to access the value of the function outside in Django rest framework. I have checked this function which return value but I want to call that return value in another function. I have tried this approach where I'm getting output ticketid as 'None'

views.py:
  
def GetUserTaskId(request):
    userid = request.data.get('UserId')
    ReportId = request.data.get('ReportId')
    cursor = connection.cursor()
    cursor.execute('EXEC [dbo].[USP_GetUserTaskId] @UserId=%s, @Ticket=%s', (userid, ReportId))
    result_set =cursor.fetchall()
    for row in result_set:
          TaskId=row[0]
        return Response({"TaskId":TaskId})

def inserttask(request):
       ticketId = GetUserTaskId(request)
       print("ticketId--->",ticketId)
       if ticketId is not None:
         /***somecode***/

Upvotes: 0

Views: 514

Answers (1)

Daniel Morell
Daniel Morell

Reputation: 2586

Why not do something like this?

# common.py

def get_task_id(user_id, report_id):
    cursor = connection.cursor()
    cursor.execute('EXEC [dbo].[USP_GetUserTaskId] @UserId=%s, @Ticket=%s', (user_id, report_id))
    result_set = cursor.fetchall()
    for row in result_set:
        TaskId=row[0]
        return TaskId
# views.py

from .common import get_task_id

  
def GetUserTaskId(request):
    userid = request.data.get('UserId')
    ReportId = request.data.get('ReportId')

    task_id = get_task_id(userid, ReportId) # call our function

    return Response({"TaskId": task_id})


def inserttask(request):
    userid = request.data.get('UserId')
    ReportId = request.data.get('ReportId')

    ticketId = get_task_id(userid, ReportId) # call our function

    print("ticketId--->",ticketId)
    if ticketId is not None:
        pass
        # somecode

Upvotes: 1

Related Questions