AttributeError的|模型对象没有属性'get'

时间:2018-06-18 11:53:57

标签: python django

这是我的模特

>>> form = Leave_Management.objects.all().get(pk=1)
>>> form
<Leave_Management: Emp001>

我创建了上述模型的两个实例。因此,当我尝试在Django Shell中访问这些实例时,它可以正常工作

Exception Type: AttributeError
Exception Value:    
'Leave_Management' object has no attribute 'get'

但是当我在views.py中尝试这样的事情时,会引发E

的错误
def approve(request,pk):
    form = Leave_Management.objects.get(pk=pk)
    return form

views.py

def ExtractData(data, type_list):

    for i in type_list :

        os.system("sed -n '/\t{}\t/p' {} > raw_extract_{}.tsv".format(i, data, i))
        os.system("cut -d$'\t' -f2,4,8,46,63,65,66 raw_extract_{}.tsv > extract_{}_reduced.tsv".format(i, i))

    return "Done !"


ExtractData("data.tsv", [2201, 2202])

我的views.py有什么问题吗?

1 个答案:

答案 0 :(得分:3)

您无法直接从视图返回实例,您需要返回响应。通常是通过渲染模板:

return render(request, 'mytemplate.html', {'form': form})

虽然可以想象你可以返回包含在HttpResponse中的表单:

return HttpResponse(form)

但它看起来很可怕。

(另外你应该考虑调用它们是什么;模型实例不是形式。)