Я хочу создать список записей с флажками на левой стороне.... своего рода как ящик входящих сообщений в 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 %}
Используйте метод queryset update()
:
id_list = list_of_ids_from_checkboxes
MyModel.objects.filter(id__in=id_list).update(myattribute=True)
В вашем отображаемом HTML не хватает name
значения для флажков. Если у вас просто одно имя для всех флажков, то список идентификаторов будет передан в одну переменную POST, которую вы можете получить прямо из request.POST
(если вы отправляете форму в виде сообщения, что и должно быть):
id_list = request.POST.getlist('checkboxname')