我是python新手。如何从另一个函数调用函数。举个例子:
class TSMTViewSet(viewsets.ModelViewSet):
queryset = Tsmt.objects.all()
serializer_class = TsmtSerializer
def RunNew2N3(fromempid,toempid,fromdate,todate,fromcscid='',tocscid=''):
cursor = connection.cursor()
try:
cursor.callproc('[dbo].[SPRUN]',[fromempid,toempid,fromdate,todate,fromcscid,tocscid])
finally:
cursor.close()
def create(self,request):
tsmt = request.data.get('tsmt')
tsmt['createby']="Admin"
tsmt['createdate']=datetime.datetime.now()
fromempid = tsmt['empid']
toempid = tsmt['empid']
fromdate = tsmt['tdate']
todate = tsmt['tdate']
serializer = TsmtSerializer(data=tsmt)
if serializer.is_valid():
tsmt_saved = serializer.save()
RunNew2N3(fromempid,toempid,fromdate,todate)
return Response({"result":"TSMT '{}' created successfully".format(tsmt_saved.tdate),"status":"success"})
else:
return Response({"result":"'{}'".format(serializer.errors),"status":"fail"})
我把call函数放在上面,为什么我不能调用它。我收到了错误信息
NameError: name 'RunNew2N3' is not defined
这是基本的Python。如果函数是类实例上的方法,则需要:
self
作为第一个参数self
调用。你知道吗所以:
这看起来像是缩进问题,如果
RunNew2N3
不是TSMTViewSet
的一部分,则在类外部定义它,并在类内部对齐create
:相关问题 更多 >
编程相关推荐