Обновление нескольких записей сразу с помощью Django

Я хочу создать список записей с флажками на левой стороне.... своего рода как ящик входящих сообщений в 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 %}
19
задан Daniel Roseman 30 April 2010 в 04:36
поделиться

1 ответ

Используйте метод 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')
35
ответ дан 21 October 2019 в 01:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: