Django对象不存在

2024-04-29 12:48:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下观点视图.py公司名称:

def MoveSucessfulEntries(request):
    if request.method == 'POST':
        objectsToBeDeleted = request.POST['imagesToBeRemoved']
        for objects in objectsToBeDeleted:
            print objects
            image = Image.objects.get(id=objects)
            SucessfulImage(emailAddress=image.emailAddress, image=image.image, caption=image.caption).save()
        return render_to_response('images/selectedSucessful.html')
    else:   
        images = Image.objects.all()
        return render_to_response('images/deleteUnsucessfulEntries.html', {'images': images})

imagesToBeRemoved是HTML页面上的复选框,其中包含数据库中图像的ID,生成方式如下:

^{pr2}$

所以我知道从表单返回的id在数据库中,但是我一直得到错误对象不存在。我的代码怎么了?在

堆栈跟踪显示错误发生在:

image = Image.objects.get(id=objects)

Tags: toimageidgetreturnobjectsrequestrender
1条回答
网友
1楼 · 发布于 2024-04-29 12:48:37

问题是你得到了一个字符串

objectsToBeDeleted = request.POST['imagesToBeRemoved']

由于您要发布多个数据,您需要的是:

^{pr2}$

字符串是iterable的,因此您可以迭代每个数字,也就是说,如果您想删除id为345的项,它实际上会尝试删除id为3、4和5的项。在

相关问题 更多 >