如何删除django额外视图中的行?
在ModelFormSetView中,如何删除行 这是我的代码,我如何在Django额外视图中管理删除行 我正在尝试使用ModelFormSetView如何删除django额外视图中的行?,django,django-forms,django-views,Django,Django Forms,Django Views,在ModelFormSetView中,如何删除行 这是我的代码,我如何在Django额外视图中管理删除行 我正在尝试使用ModelFormSetView if formset.deleted_forms: for obj in formset.deleted_forms: obj.delete() Html {{ formset.management_form }} {% for object in formset %} {% for hidden in formse
if formset.deleted_forms:
for obj in formset.deleted_forms:
obj.delete()
Html
{{ formset.management_form }}
{% for object in formset %}
{% for hidden in formset.hidden_fields %}
{{ hidden }}
{% endfor %}
<tr class="formset" class="even pointer">{{ object.id }}
<td class=" ">{{ object.as_p }}</td>
<td class=""></td>
</tr>
{% endfor %}
我还没有对此进行测试,但根据文档,可以在类级别设置与表单集相关的属性。因此,在您的情况下,添加
factory\u kwargs
,并将can\u delete
指定为True,例如:
class MeasurementPropsUpdateView(ModelFormSetView):
factory_kwargs = { 'can_order': False, 'can_delete': True}
formset.deleted\u表单只有在调用formset.save(commit=False)后才可用
如果
formset.deleted\u表单:
class MeasurementPropsUpdateView(ModelFormSetView):
factory_kwargs = { 'can_order': False, 'can_delete': True}
def formset_valid(self, formset):
if formset.is_valid():
instances = formset.save(commit=False)
# Delete objects
for obj in formset.deleted_forms:
obj.delete()
for obj in instances:
obj.ProductName_id = self.kwargs.get('pk')
obj = user = self.request.user
obj.save()
messages.success(self.request, "Measurement Properties Updated successfully")
return HttpResponseRedirect(self.get_success_url())
#Formset is not valid
return False