I noticed that in the places where I used represent it wasn't a dropdown selection plus I also made the field non-writable. I cannot follow these conditions because it needs to be a list the user can select.
Any ideas? On Monday, January 19, 2015 at 7:57:22 PM UTC-6, americandewd wrote: > > Ok I noticed partly where my error is: > *row.title needs to be row.id <http://row.id>* > > I have used "represent" before and attempted it again here. However it is > being completely ignored. Specifically what I tried is not working and I > have used this many times before without problem. The only difference > using it before was that the field was changed to be unwritable. > > Currently I tried to get represent to work in the same way I have used > before: > formcontrol.category.represent = lambda f: db.category[f].title > > This is being completely ignored. > > Any ideas? > > On Monday, January 19, 2015 at 5:22:59 PM UTC-6, americandewd wrote: >> >> 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.

