我有一个简单的编辑表单,我的想法是在表单中添加一个删除按钮,并在我的视图中使用它。
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()
?
答案 0 :(得分:1)
你不能删除那种方式。您需要通过查询并删除它来获取实例。
此外,您创建表单form = myform(request.POST,instance=formdata)
的方式也不合适。 instance
应该是对象,而不是request.POST
中发布的数据。
答案 1 :(得分:1)
实际上,你可以。只需做form.instance.delete()
这是可能的,因为您将myobject作为实例传递。
编辑:在第二个想法中,它有点毫无意义,因为你也可以做myobject.delete()。
答案 2 :(得分:0)
不,你不能delete()
ModelForm
,myform
打电话Mydata.objects.get(id=id).delete()
。
要删除实例,您仍需要通过第二种方式调用模型管理器: {{1}}。