>
> db.define_table('user_account',
> ....
> )
> db.define_table('distributors',
>     Field('account_id', db.user_account),
>     Field('uadpoints_balance_available', 'integer', default=0),
> )
> db.define_table('ads',
>     Field('member_id', db.user_account),
>     Field('points', 'integer', default=0),
> )
> db.ads.points.requires = IS_INT_IN_RANGE(0, 
> db(db.distributors.account_id==db.ads.member_id).select()[0].uadpoints_balance_available)
>

If 'ads' records will be added via form submission, then you might try:

db.ads.points.requires = IS_INT_IN_RANGE(0,
    db(db.distributors.account_id==request.vars.member_id
).select().first().uadpoints_balance_available)

You might want to set this in the form controller only when request.vars is 
not empty to avoid unnecessary db hits.

Anthony

Reply via email to