Maybe this will help: http://www.web2pyslices.com/slice/show/1724/cascading-dropdowns-simplified ?

________________________________________
Kiran Subbaraman
http://subbaraman.wordpress.com/about/

On 11/7/2013 10:09 PM, Dr. Bill Y.K. Lim wrote:
Hi, I am new to Python and web2py and I am not sure if my approach below is correct - in any case I have a problem with it:

I have added 2 extra fields in db.py as follows:

|
fromapplications.myapp.modules.countriesandcities import*
auth.settings.extra_fields['auth_user']=[
Field('country'),
Field('city')]


db.auth_user.country.requires = IS_IN_SET(COUNTRIESANDCITIES.keys()) # this is working as expected db.auth_user.city.requires = IS_IN_SET(COUNTRIESANDCITIES[request.post_vars.country]) # this is not working - getting KeyError

|

I created a module called countriesandcities.py (shortened here for illustration):

|
COUNTRIESANDCITIES ={'Australia':["Adelaide","Brisbane","Perth","Melbourne"],'Malaysia':["Ampang","Kuching","Miri","Kuala Lumpur"]}
|

What I am trying to achieve is this:
(1) When user is registering, user will select the 'country' from a drop down list which is required to be one of the keys in the COUNTRIESANDCITIES dict. This part works fine.

(2) Based on the selection in (1) above, the user will now select the 'city' from a drop down list and this drop down list should just show the 'values' (cities) for the 'key' (country) previously selected.

However, part (2) doesn't seem to be working and I am getting this error:

<type 'exceptions.KeyError'>(None)

That seems to suggest that there is no existing 'key' which would seem to imply that request.post_vars.country is not working.

Any help would very much be appreciated.

--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to