我想创建一个左侧带有复选框的记录列表……有点像Gmail中的收件箱.然后,如果用户选中这些复选框中的一些或全部,则可以更新选定的记录(只有一个字段将被更新),这可能是通过单击按钮来实现的.

不过,我被困在如何做这件事上了…… idea ?

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 %}

推荐答案

Use the queryset update() method:

id_list = list_of_ids_from_checkboxes
MyModel.objects.filter(id__in=id_list).update(myattribute=True)

您的显示HTML缺少复选框的name值.如果所有复选框中只有一个名称,则ID列表将传递到单个POST变量中,您可以直接从request.POST获取该变量(假设您将表单作为POST提交,您应该这样做):

id_list = request.POST.getlist('checkboxname')

Django相关问答推荐

通过Model Form以编程方式设置Date TimeRangeField

Django BooleanField如何使用RadioSelect?

Django基于查询集动态筛选字段名称

在Django上传JPEG图像时遇到问题

如何将多个模型添加到单个列表视图?

如何连接到 docker 容器中的 postgres 数据库?

如何将数据库中的 None 序列化为空对象?

Django 在模型中存储用户图像

django REST 框架 - 嵌套 ModelSerializer 的有限查询集?

变量为无时默认模板标签输出的Django设置?

django 管理员登录突然要求 csrf 令牌

如何判断 Python unicode 字符串是否包含非西方字母?

使用基于日期/时间的对象进行 Django 单元测试

测试 Django 信号的正确方法

Django:显示在每个页面上加载页面所花费的时间

保存前向 ModelForm 对象添加数据

ProgrammingError: 安装 Psycopg2 后,关系django_session不存在错误

'function' 对象没有属性 'as_view'

如何过滤(或替换)在 UTF-8 中占用超过 3 个字节的 unicode 字符?

Python Django 的多线程