Thanks for reporting this. The proper new way is:
m = db.foo.bar.max() for row in db(...).select(m): print row[m] The old way and still backward compatible is: m = db.foo.bar.max() for row in db(...).select(m): print row._extra[m] A hack that worked with the old way but broke with the new dal is: m = db.foo.bar.max() for row in db(...).select(m): print row._extra['MAX(foo.bar)'] I just changed trunk to make sure that the hack worked as you originally had it but I do not think it was ever documented in the book. Massimo On Jan 10, 6:59 am, Stefan Scholl <stefan.sch...@gmail.com> wrote: > Hi! > > Just updated a project from 1.89.5 to 1.91.6. Got a key error. > > row._extra['MAX(foo.bar)'] had a problem with the key. The query has a > "db.foo.bar.max()," in the select(). > (Funny: Can't find anything about _extra and max() again in the book > now?) > > Changed the key to 'max(foo.bar)' and now everything is OK. But it's > dent in the backward compatibility promise. > > Regards, > Stefan