I got these tables
db.define_table('sender',
Field('id'),
Field('user_id', auth.user_id),
Field('name'), # e.g. Daniel
Field('email'),# e.g. daniel@daniel.com
Field('opening'), # e.g. Dear Daniel
...)
db.define_table('receiver',
Field('id'),
Field('user_id', auth.user_id),
Field('name'), # e.g. John
Field('email'), # e.g. John@john.com
Field('tel'), # e.g. 111 222 111
...)
db.define_table('letter',
Field('id'),
Field('user_id', auth.user_id),
Field('sender', db.sender.id), # e.g. Daniel
Field('receiver', db.receiver.id), # e.g. John
Field('opening'), # should be filled automatically when choosing/changing the value of "sender"
...)
i used this :
db.letter.opening.widget = SQLFORM.widgets.autocomplete(request, db.receiver_profile.opening, id_field=db.receiver.id)
it shows all values stored in receiver but i want to show only the values that’s owned to the user (db(db.receiver.user_id==auth.user_id).select(db.receiver.opening))
replace
with