Thanks Massimo! So I must traverse the list at least one time. I dont know how much time is spent in this operation, but I have a very large number of records, so I'll test this solution.
Thank you! 2011/7/21 Massimo Di Pierro <massimo.dipie...@gmail.com>: > No that does not work for the reasons discussed above but this does > def getcommentsbydate(): > rows = db(db.test).select(db.test.data.comment, db.test.data) > for row in rows: row.data = row.data.date() > return dict(rows=rows) > > On Jul 21, 8:06 am, Angelo Compagnucci <angelo.compagnu...@gmail.com> > wrote: >> Sorry for being retarted! >> >> I have this: >> >> db.define_table('test', Field('comment','string'), Field('data','datetime')) >> >> but the function: >> >> def getcommentsbydate(): >> rows = db(db.test).select(db.test.data.comment, db.test.data.date()) >> return dict(rows=rows) >> >> throws an exception complaining that the date() method does not exist. >> >> How can I exctract the date without traverse the rows object? I dont >> want to use a list comprehension or something else because with >> thousands of records is painfull slow (I'm thinking of a radius >> accounting table ...)! >> >> I think there is nothing in the DAL that translates to a "DATE()" sql >> function, am I wrong? >> >> Thank you for your suggestion!