0

我有一个简单的编辑表单,我的想法是在表单中添加一个删除按钮,并在我的视图中使用它。

if request.method == 'POST':
    form = myform(request.POST,instance=myobject)
    if request.POST.get('delete'):
        form.delete()
    else:
        if form.is_valid():
            form.save()

这行不通。我可以这样删除,我有错误,还是我应该先查询,然后删除数据Mydata.objects.get(id=id).delete()

4

3 回答 3

1

你不能那样删除。您需要通过查询和删除来获取实例。

此外,您创建表单的方式form = myform(request.POST,instance=formdata)也不合适。instance应该是对象而不是发布在 中的数据request.POST

于 2012-10-14T09:03:51.353 回答
1

事实上,你可以。只需执行 form.instance.delete()
这是可能的,因为您将 myobject 作为实例传递。

编辑:再想一想这是没有意义的,因为你也可以做 myobject.delete() 。

于 2013-03-11T03:00:26.413 回答
0

不,您不能调用delete()(看起来像) a ModelForm, myform.

要删除实例,您仍然需要通过第二种方式调用模型管理器: Mydata.objects.get(id=id).delete().

于 2012-10-14T08:58:25.940 回答