It seems that this widget does not work when there is more than one
list:string field in a page.

On Oct 25, 2:01 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
> The list:string is not an alternative to using a tag table and
> tag_link many-to-many (an example of which is provided by
> plugin_tagging).
>
> Yet you should not have the problem you experience. With recent
> versions of web2py, Field('keywords', 'list:string') should be
> rendered by a new widget that takes one keyword per line and adds new
> lines when yo press enter. You should not be using '|' to separate
> keywords. If you do all keywords will be interpreted as one long
> keyword containing the '|'s.
>
> Massimo
>
> On Oct 24, 10:35 pm, rick <ricon...@gmail.com> wrote:
>
> > I'm getting frustrated with the list:string field type.
>
> > I store products, each product has "keywords" that describe the
> > product.
> > db.define_table('products',
> >    Field('keywords', 'list:string'))
> > I don't know what the keywords will be, so I can't use IS_IN_SET()
>
> > It seems to stores the keywords fine, as long as (I'm using Crud)
> > I separate the keywords like this: green|blue|red
>
> > But when I make this call
> > rows = db(db.products.keywords.contains(keyword)).select()
> > I don't get all the products back that I should! In fact, it seems
> > that I need to do an update on the product (again using Crud,
> > and any sort of update) before the product's keywords will be
> > picked up.
>
> > Is this a problem with using Crud?
> > In all honesty, I'd be more comfortable not using list:string, and
> > having a separate table "keywords" that linked (many-to-one)
> > to the products table, but I really don't know how I would even
> > begin to do that in web2py..
>
> > Thanks for reading!
> > - rick
>
>

Reply via email to