'模块'对象不可订阅

时间:2016-08-29 02:11:52

标签: python django

这是我的代码的非常简化的版本,所以请求忽略语法错误

我有一个辅助函数,基本上是使用django orm从数据库中读取一行并进行一些验证,最后使用字典返回

modVerify.py

def verify(request):
    try :
        req = Request.objects.get(id=request.POST.get('id'))
    except :
        return({'stat':'er' , 'error':-12})

    return({'stat':'ok' , 'req':req})

这是我在尝试使用上述应用程序时出现错误的地方

  import modVerify.view
  def verify(request):

    result = modVerify.views.verify(request )

    if(result['status'] == 'ok'):
        req = modeVerify['req']
    else : 
        print('ERROR !')

这是我的错误

TypeError at /api/verify

'module' object is not subscriptable

Request Method:     POST
Request URL:    site.com/api/verify
Django Version:     1.9.7
Exception Type:     TypeError
Exception Value:    

'module' object is not subscriptable

Exception Location:     /home/somedomain/project/api/views.py in verify, line 98
Python Executable:  /usr/local/bin/python3
Python Version:     3.4.4

指向此行

 req = modeVerify['req']

那么为什么我得到这个并且有一种解决方法或者我应该返回行id而是从调用函数中的数据库再次读取它?

1 个答案:

答案 0 :(得分:1)

好像你应该这样做

req = result['req']

而不是

req = modeVerify['req']