You can just do:
db.define_table('main_post',
Field('title', required=True, notnull=True, label=T('Title')),
Field('description', 'text', label=T('description')),
auth.signature)
and you get
db.main_post.created_by
db.main_post.created_on
On May 27, 4:34 pm, Manuele Pesenti <[email protected]> wrote:
> what's the way to store in db the user that perform the insert in db and
> the actual time stamp? I thought to resolve with the subsequant solution
> but with no success:
>
> # db model
> db.define_table('main_post',
> Field('title', required=True, notnull=True, label=T('Title')),
> Field('description', 'text', label=T('description')),
> Field('timeref', 'datetime',
> compute=lambda r: request.now,
> requires = IS_DATETIME(format=T('%Y-%m-%d %H:%M:%S'),
> error_message=T('must be YYYY-MM-DD HH:MM:SS!'))
> )
> Field('owner', db.auth_user, required=True, notnull=True,
> compute=lambda r: auth.user.id,
> requires=IS_IN_DB(db, 'auth_user.id', '%(first_name)s')
> )
> )
>
> # controller
> def index():
> form = SQLFORM(db.main_post)
> return dict(form=form)
>
> on the submit it responds with a missing owner error message
>
> thank you
> cheers
>
> Manuele