I am building a search form that provides a drop down list, and then on the 
search results, I am redisplaying the search form, but with the search 
parameters already pre-selected, so this is what I attempted to do:

<select name="system">
    {% for item in object_list %}
        <option value="{{ item.id }}" {% if item.id == request.GET.system 
%} selected="selected" {% endif %}>
            {{ item.name }}
        </option>
    {% endfor %}
</select>

Unfortunately, this did not work.  When I did some testing, I realized that 
item.id is giving back an int, while request.GET.system is giving back a 
string.  If I used the view to change the GET value to an int in the 
context, then the comparison works.

What I am wondering is, is this expected behavior?  Does the request object 
always return a string, and that I am better off writing my own custom tag 
to convert request objects into int for comparison?  What is the best 
practice to employ here?  I am fairly new to django and could use some 
pointers.

Thanks,

Jack

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to