Ste*_*en 22 django records django-templates
我想在左侧创建一个带复选框的记录列表....有点像Gmail中的收件箱.然后,如果用户选择这些复选框中的一些或全部,则可以通过点击按钮来更新所选择的记录(仅一个字段将被更新BTW).
虽然想法,我仍然坚持如何做到这一点?
显示代码
{% for issue in issues %}
<tr class="{% cycle 'row1' 'row2' %}">
<td><input name="" type="checkbox" value="{{ issue.id }}" /></td>
<td>{{ issue.description }}</td>
<td>{{ issue.type }}</td>
<td>{{ issue.status }}</td>
<td>{{ issue.date_time_added|date:"d, M Y" }}</td>
<td>{{ issue.added_by }}</td>
<td>{{ issue.assigned_to }}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 38
id_list = list_of_ids_from_checkboxes
MyModel.objects.filter(id__in=id_list).update(myattribute=True)
Run Code Online (Sandbox Code Playgroud)
您的显示HTML缺少name复选框的值.如果您在所有复选框中只有一个名称,那么ID列表将被传递到单个POST变量中,您可以直接从该变量中获取request.POST(假设您将表单作为帖子提交,您应该这样做):
id_list = request.POST.getlist('checkboxname')
Run Code Online (Sandbox Code Playgroud)