Surmontez cette partie d'un modèle Django. regs est une liste d'objets Reg. Reg.editable est un BooleanField. Je souhaite afficher un bouton radio par élément dans la liste. Si r.editable est False, le bouton radio doit être désactivée:Problème avec la logique dans le modèle Django
{% for r in regs %}
<input type="radio" value="{{ forloop.counter }}"
{% if forloop.first %}checked="checked"{% endif %}
{% if not r.editable %}disabled="disabled"{% endif %}/>
{% endfor %}
Comme vous pouvez le voir, je suis en utilisant forloop.first pour vérifier le premier bouton radio, mais cela a un problème! Qu'en est-il si le premier élément a éditable == Faux? Le premier bouton radio sera désactivé et chéqué. Si un utilisateur envoie "le formulaire", je recevrai une valeur non attendue.
Suis-je clair avec le problème ici? Comment puis-je réécrire ce modèle pour rendre tel que coché le bouton radio FIRST ENABLED?
Merci
BTW, je n'utilise pas le trou Django, juste le moteur de modèle, donc je ne peux pas déplacer cette logique à la vue :) –