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

Reply via email to