I have a dropdown list of categories I have created for users to select 
from, when I remove formcontrol.category.requires = 
IS_IN_SET(catwanted,zero=None) it shows the existing data the user has 
already chosen, when I put back the formcontrol.category.requires = 
IS_IN_SET(catwanted,zero=None) it does not show the data existing in the 
field.  The existing data was chosen from initial creation of the data in 
the same manner however if the user wants to go back and change this it is 
not showing what they had existing, instead the dropdown select has the 
first sorted item of the list as though they never had any data there (yet 
this record exists).

I tried several things mentioned here and in the book, none of them showed 
the existing data.  The only thing that would show it is if I took out the 
"IS_IN_SET" with my list created from the actual category list in the DB.

In my model I am creating a category list (Massimo helped with this awhile 
back):

db.define_table('category', 
    Field('title'),
    Field('slug',requires=IS_SLUG(),compute=lambda row: IS_SLUG.urlify(row.
title)),
    Field('parent_id','reference category', default=None))



In that list I have main categories that I do not want before I make a call 
to edit the form like so:
catwanted = []
notwanted = ['Dontwant1','Dontwant2','Dontwant3']
for row in db(db.category).select():
if row.title in notwanted:
    pass
else:
    catwanted.append(row.title)
catwanted.sort()

When I call the form I put that list as a requirement:
formcontrol.category.requires = IS_IN_SET(catwanted,zero=None)

The list shows up fine, the problem is that it does not show the existing 
data for that field, it shows the first sorted item.

When I remove the 
formcontrol.category.requires = IS_IN_SET(catwanted,zero=None)
from the call it shows me the existing data in the field, however at this 
point I am not obviously removing the categories from the available options.

Since the only way I can get it to show the existing value is by removing 
"formcontrol.category.requires = IS_IN_SET(catwanted,zero=None)" I am 
posting here to see if maybe this is just a weird bug because the data that 
exists in the field is not in the excluded list and I have other parts in 
which I do this except the only difference is that I do not exclude 
anything and it shows the existing value in the field.  This does not seem 
right to me for it to not want to show existing data that matches the data 
in the wanted list of items.

-- 
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/d/optout.

Reply via email to