Hi Paul, I faced a similar problem and worked out the following solution:
db.define_tables("publications",
Field('publish','date',default=request.now,notnull=True),
Field('expire','date',default=request.now
+datetime.timedelta(days=28),notnull=True),
Field(...))
rows=db((db.publications.publish<=request.now)&(db.publications.expire>request.now)).select()
I hopes this points you in the right direction to solve your problem.
Kind regards,
Annet.

