ti-enxame.com

Django: Selecione a opção no modelo

No meu modelo Django, estou usando a lista de objetos em um menu suspenso. Estou processando-o com base na seleção.

O modelo HTML:

<select id="org" name="org_list" onChange="redirectUrl()">
  <option  value="" selected="selected">---SELECT---</option>
  {% for org in organisation %}
   <option value="{{org.id}}">{{org.name|capfirst}}</option>
  {% endfor %}
</select>

O problema é que, ao selecionar o valor no menu suspenso, estou obtendo o conteúdo que pertence à seleção. Desde o atributo selected = "selected" que se fixa apenas ao elemento "--- SELECT ---", a menos que eu coloque o selected = "selected " in

<option value="{{org.id}}" selected="selected">{{org.name|capfirst}}</option>

Nessas organizações, o último elemento iterado está sendo corrigido apenas com o menu suspenso. Mas quero que o elemento selecionado seja exibido no menu suspenso.

Como posso resolver este problema?

17
Nava

Você deseja passar a organização atualmente selecionada para a visualização, talvez como current_org para que, ao percorrer as organizações, você possa comparar com a atual para determinar se deve ou não selecioná-la, como:

{% for org in organisation %}
   <option value="{{org.id}}"
       {% if org == current_org %}selected="selected"{% endif %}>
       {{org.name|capfirst}}
   </option>
{% endfor %}
43
Dan Breen