from datetime import datetime
db.define_table('bursary_entries',
Field('barcode', type='string', requires=[IS_IN_DB_UPPER(db, 'bursary_users.barcode')]),
Field('entry_time', type='datetime', default=request.now, readable=False, writable=False),
Field('entry_location', type='string', readable=False, writable=False, requires=[IS_IN_DB(db, 'bursary_locations.bursary_location')]),
Field('bursary_at_time', type='string', readable=False, writable=False, requires=[IS_IN_DB(db, 'bursary_users.bursary')]),
format='%(barcode)s'
)
query = (db.bursary_entries.entry_time > reportsform.vars.start_date)& \
(db.bursary_entries.entry_time < reportsform.vars.end_date)
# Left outer-joins
joins = [db.bursary_users.on(db.bursary_entries.barcode==db.bursary_users.barcode)]
grid = SQLFORM.grid(query, left=joins, groupby=db.bursary_entries.barcode)
Hm, so there's no real way to do this at the minute?
The problem is, if I do it via executesql or virtual fields, I can't export it as CSV which is my primary goal.