Добрый день.
Проблема заключается в том, что необходимо в checkbox_values передать value каждого пользователя. Код всегда идет по пути else: checkbox_values.append(0) и отправляет в базу нули
<form class="needs-validation" name="checkbox" method="post" novalidate="" action="/">
<ul class="list-group mb-3">
{% for row in results %}
{% set i = loop.index %}
<li class="list-group-item d-flex justify-content-between bg-light">
<div>
<div class="form-check">
{% if row[1] == 1 %}
<input type="checkbox" class="form-check-input" name="checkbox{{ i }}{{ row[2] }}_on" value="checkbox{{ i }}{{ row[2] }}" id="checkbox{{ i }}{{ row[2] }}" checked>
{% elif row[1] == 0 %}
<input type="checkbox" class="form-check-input" name="checkbox{{ i }}_{{ row[2] }}_off" value="checkbox{{ i }}_{{ row[2] }}" id="checkbox{{ i }}_{{ row[2] }}" {% if row[1] == 1 %}checked
{% endif %}>
{% endif %}
<label class="form-check-label" for="same-address"><h6 class="my-0">{{ row[0] }}. {{ row[3] }}</h6>
<input type="hidden" name="user_id[]" value="{{ row[2] }}">
</div>
</div>
</li>
{% endfor %}
</ul>
<button class="w-100 btn btn-primary btn-lg" type="submit">Отправить</button>
</form>
checkbox_values = []
user_ids = request.form.getlist('user_id[]')
print(str(request.form))
for user_id in user_ids:
checkbox_value = request.form.get(f"checkbox{user_id}")
if checkbox_value:
try:
checkbox_value = int(checkbox_value)
if checkbox_value not in [0, 1]:
raise ValueError("Checkbox value must be 0 or 1")
except ValueError:
raise ValueError("Checkbox value must be an integer")
checkbox_values.append(checkbox_value)
else:
checkbox_values.append(0)