通过使用django视图,我需要根据从html模板中选中的复选框列表删除数据库中的行
index.html
:
<form method="post" action="{% url 'mul_delete' %}">
{% csrf_token %}
<button type="sumbit" name="del" id="del">Delete</button>
{% for smail in form1 %}
<input type="checkbox" name="check" id="check" class="check" value="{{smail.id}}"/>
</form>
view.py
:
def mul_delete(request):
if request.method == 'POST':
chk = request.POST.getlist('check')
print(chk)
return redirect('/form1')
[1,2,3,4]
答案 0 :(得分:0)
如果您从单选按钮获取 ID ,则只需传递该ID即可查询其提取并删除。
def mul_delete(request):
if request.method == 'POST':
chk = request.POST.getlist('check')
print(chk)
Model.objects.filter(id=chk).delete() #<--- user filter or get
return redirect('/form1')
如果您要删除多个对象,则可以将所有id作为列表传递给查询集,这将过滤所有对象并因此删除它们。
Model.objects.filter(id__in=list_var).delete() #<--- user filter only