Essayer de créer dynamiquement une liste de cases à cocher qui, une fois sélectionnées, effectueront une action. J'ai les cases à cocher créées comme prévu, et j'ai une action qui fonctionne comme prévu. Je n'arrive pas à saisir les bonnes cases pour effectuer l'action. Par exemple, lorsque je clique sur la troisième case, ou sur la deuxième et la troisième case, l'action est toujours effectuée sur la première case. J'ai vérifié que les données POST passent correctement les préfixes de cases cochées et le nom de formulaire, mais de toute façon je dis au code que si une case est cochée, effectuez l'action sur la première instance plutôt que sur la ou les cases cochées. Voici ce que j'ai:Django itérer sur les cases à cocher
forms.py
class remove_resource(forms.Form):
active = forms.BooleanField(label_suffix='', label='', required=False)
views.py
def edit_project_resource (request, offset):
list_resources = Allocation.objects.filter(project_id=offset).filter(active=True).order_by('user_id').distinct('user_id')
display = {}
for r in list_resources:
check = remove_resource(prefix = r.pk)
display[r.user_id] = (check, r.user_id)
if request.method == 'POST':
check = remove_resource(request.POST, prefix = r.pk)
if check.is_valid():
if request.POST.get(check, True):
Allocation.objects.filter(project_id=offset).filter(user_id = r.user_id).update(active=False)
return HttpResponseRedirect('/project_profile/%s/' % offset)