2008-11-13 8 views
0

J'ai une liste d'objets, chacun avec sa propre case, où l'utilisateur peut en sélectionner plusieurs. La liste est le résultat d'une requête.Cases à cocher Django multiselect

Comment puis-je marquer dans la vue les cases cochées? Il ne semble pas y avoir d'opérateur in dans le langage modèle.

Je veux quelque chose le long des lignes de:

<input {% if id in selectedIds %}checked {% endif %}> 

Répondre

0

Vous pouvez utiliser un templatetag comme celui de commentaires Snippet:

http://www.djangosnippets.org/snippets/177/

@register.filter 
def in_list(value,arg): 
    return value in arg 

A utiliser dans les modèles:

The item is 
{% if item|in_list:list %} 
    in list 
{% else %} 
    not in list 
{% endif %} 

Pas très intelligent, mais ça marche.