On relational database with type="list:string" the internal
representation is the same as before '|xxx|yyy|zzz|' but it is no
longer exposed to the user. The user inserts a list a string and
extract a list of strings.

On GAE things have changed. At the web2py level the user still inserts
a list of strings and extract a list of strings but "list:string" is
mapped into a StringListPropery(). This allow taking advantage of fast
search.

"list:string" also handles pathological cases like

  db.aaa.insert(bbb=['this','is','a|test']) and | gets escaped into
'||' as in '|this|is|a||test|'. Empty strings are not allowed.

and it allows better searching

  db(db.aaa.bbb.contains('this')).select()

When using export/import it should export always (even on GAE) as a '|
xxx|yyy|zzz|'

Hope this clarifies it.


 "list:string" the inter

On Sep 20, 2:01 pm, Wikus van de Merwe <dupakrop...@googlemail.com>
wrote:
> As far as I can see, when "list:string" is being used the effect is
> very similar (I'm testing this on GAE). Again a list like
> representation is used (this time using unicode):
> [u'xxx',u'yyy',u'zzz'], not the old '|' separated strings. Does it
> mean that now this is the new way of representing a list of checked
> options or there is still a way to get strings split by '|' in the DB
> as in the old versions of web2py? I would like to know exactly how it
> is stored as I need to access this DB fields also outside of web2py.

Reply via email to