'Get Value for Specific Select Option in Django Template

I am trying to get the value for a select option in my django template. I can iterate through an object like this:

<select id="id_name" name="name">
  {% for x, y in form.fields.name.choices %}
    <option value="{{ x }}">{{ y }}</option>
  {% endfor %}
</select>

but is there any way to get a specific value eg; form.fields.name.choices.2? without looping? Thanks!



Solution 1:[1]

You can try

form.fields.name.choices.queryset.values.2

to get third element in a dict with your choices. Or you use

form.fields.name.choices.queryset.values_list.2

to get the choice as tuple. See here https://docs.djangoproject.com/en/4.0/ref/models/querysets/#values and here https://docs.djangoproject.com/en/4.0/ref/models/querysets/#values-list

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Karsten Schulz