Я получил эти таблицы
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"
...)
Я использовал это:
db.letter.opening.widget = SQLFORM.widgets.autocomplete(request, db.receiver_profile.opening, id_field=db.receiver.id)
показывает все значения, хранящиеся в receiver
, но я хочу показать только те значения, которые принадлежат пользователю (db(db.receiver.user_id==auth.user_id).select(db.receiver.opening))