Thanks for reporting. should now be fixed in trunk.
On Wednesday, 21 March 2012 02:22:17 UTC-5, backseat wrote: > > My application has broken moving from 1.99.4 to 1.99.7. > > I have a field of type list:string (using Sqlite). In 1.99.7, dal.py > breaks at line 1405 (marked with >>>): > > return str(obj) > if fieldtype.startswith('list:'): > if not obj: > obj = [] > elif not isinstance(obj, (list, tuple)): > >>> obj = [int(obj)] > > elif fieldtype.startswith('list:string'): > obj = [str(item) for item in obj] > else: > obj = [int(item) for item in obj] > > Because my field is type list:string, startswith('list:') is True and thus > the startswith('list:string') line is never reached. > > This patch appears to fix the problem, although I've not tested it > thoroughly: > > --- dal.py.old 2012-03-21 07:19:12.000000000 +0000 > +++ dal.py 2012-03-21 07:20:38.000000000 +0000 > @@ -1398,13 +1398,13 @@ > return fieldtype.encoder(obj) > if isinstance(obj, (Expression, Field)): > return str(obj) > - if fieldtype.startswith('list:'): > + if fieldtype.startswith('list:string'): > + obj = [str(item) for item in obj] > + elif fieldtype.startswith('list:'): > if not obj: > obj = [] > elif not isinstance(obj, (list, tuple)): > obj = [int(obj)] > - elif fieldtype.startswith('list:string'): > - obj = [str(item) for item in obj] > else: > obj = [int(item) for item in obj] > if isinstance(obj, (list, tuple)): > > -- > "You can have everything in life you want if you help enough other people > get what they want" - Zig Ziglar. > > Who did you help today? > >