>
> 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