使用 Django 一次更新多条记录
我想创建一个左侧带有复选框的记录列表......有点像 Gmail 中的收件箱。然后,如果用户选择部分或全部这些复选框,则可以通过单击按钮来更新所选记录(顺便说一句,只有一个字段将被更新)。
但我不知道如何做到这一点......想法?
显示代码
{% 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 %}
I want to create a list of records with checkboxes on the left side....kinda like the inbox in Gmail. Then if a user selects some or all of these checkboxes, then the selected record(s) can be updated (only one field will be updated BTW), possibly by clicking a button.
I'm stuck on how to do this though....ideas?
Display Code
{% 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 %}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用查询集
update( )
方法:您的显示 HTML 缺少复选框的
name
值。如果您在所有复选框中只有一个名称,则 ID 列表将被传递到单个 POST 变量中,您可以直接从request.POST
获取该变量(假设您将表单提交为一个帖子,你应该是):Use the queryset
update()
method:Your display HTML is missing a
name
value for the checkboxes. If you just have a single name across all checkboxes, then the list of IDs will be passed into a single POST variable, which you can get straight fromrequest.POST
(assuming you're submitting your form as a post, which you should be):