2011-09-24 32 views
1

我得到了这些表的web2py AJAX自动完成和auth.user_id

db.define_table('sender', 
    Field('id'), 
    Field('user_id', auth.user_id), 
    Field('name'), # e.g. Daniel 
    Field('email'),# e.g. [email protected] 
    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. [email protected] 
    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))

回答

0

更换

db.letter.opening.widget = SQLFORM.widgets.autocomplete(request, db.receiver_profile.opening, id_field=db.receiver.id) 

db.letter.opening.widget = SQLFORM.widgets.autocomplete(request, db.receiver_profile.opening, id_field=db.receiver.id,db=db(db.receiver.user_id==auth.user_id))