I do not know. Anyway, you are using 2.0.9. Can you upgrade to 2.2.1?

On Thursday, 1 November 2012 12:07:41 UTC-5, apps in tables wrote:
>
> Hi,
>
> I did small changes to the example in the book (ajax search),
>
> @auth.requires_login() 
> def searchtalab():
>      "an ajax wiki search page"
>      return dict(form=FORM(INPUT(_id='keyword',_name='keyword',
>               _onkeyup="ajax('callbacktalab', ['keyword'], 'target');")),
>               target_div=DIV(_id='target'))
>
> @auth.requires_login() 
> def callbacktalab():
>      "an ajax callback that returns a <ul> of links to wiki pages"
>      query = db.talab.body.contains(request.vars.keyword) | 
> db.talab.title.contains(request.vars.keyword) 
>      talabs = db(query).select( orderby=db.talab.on_date )
>      links = [A(n.on_date,'  ......  ',( str(n.title)  ) ,' .... ',( 
> str(n.body)  ) ,' .... ' , _href=URL('talab_r_search',args=n.id)) for n 
> in talabs]
>      return UL(*links)
>
> and  it is working perfect.
>
> then I am trying to do the search, not only in one table , but to include 
> the details tables, So, I wrote it as :
>
> @auth.requires_login() 
> def searchtalabdetails():
>      "an ajax wiki search page"
>      return dict(form=FORM(INPUT(_id='keyword',_name='keyword',
>               _onkeyup="ajax('searchtalabdetails', ['keyword'], 
> 'target');")),
>               target_div=DIV(_id='target'))
>
> @auth.requires_login() 
> def searchtalabdetails():
>      "an ajax callback that returns a <ul> of links to wiki pages"
>      query = ( ((db.talab.id == db.talab_comment.talab_id) & (db.talab.id== 
> db.talab_document.id)) &
>         (   (db.talab.body.contains(request.vars.keyword))         | 
> (db.talab.title.contains(request.vars.keyword))
> |(db.talab_comment.body.contains(request.vars.keyword)) | 
> (db.talab_document.doc_title.contains(request.vars.keyword))
> )
>      )
>      talabs = db(query).select( orderby=db.talab.on_date )
>      links = [A(n.talab.on_date,'  ......  ',( str(n.talab.title)  ) ,' 
> .... ',( str(n.talab.body)  ) ,' .... ' , _href=URL('talab_r_search',args=
> n.talab.id)) for n in talabs]
>      return UL(*links)
>
>
> but it gave me the error:
>
> <type 'exceptions.TypeError'> CONTAINS() takes exactly 3 arguments (2 
> given)VERSIONweb2py™(2, 0, 9, datetime.datetime(2012, 9, 13, 23, 51, 30), 
> 'stable')TRACEBACK
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
> 15.
> 16.
> 17.
> 18.
> 19.
> 20.
> 21.
>
> Traceback (most recent call last):
>   File "gluon/restricted.py", line 209, in restricted
>   File 
> "C:/Users/Toshiba/Desktop/web2py_209/web2py/applications/e_galya/controllers/default.py"
>  <http://127.0.0.1:8000/admin/default/edit/e_galya/controllers/default.py>, 
> line 1190, in <module>
>   File "gluon/globals.py", line 186, in <lambda>
>   File "gluon/tools.py", line 2809, in f
>   File 
> "C:/Users/Toshiba/Desktop/web2py_209/web2py/applications/e_galya/controllers/default.py"
>  <http://127.0.0.1:8000/admin/default/edit/e_galya/controllers/default.py>, 
> line 74, in searchtalabdetails
>   File "gluon/dal.py", line 8766, in select
>   File "gluon/dal.py", line 2094, in select
>   File "gluon/dal.py", line 1581, in select
>   File "gluon/dal.py", line 1444, in _select
>   File "gluon/dal.py", line 1277, in expand
>   File "gluon/dal.py", line 1160, in AND
>   File "gluon/dal.py", line 1277, in expand
>   File "gluon/dal.py", line 1163, in OR
>   File "gluon/dal.py", line 1277, in expand
>   File "gluon/dal.py", line 1163, in OR
>   File "gluon/dal.py", line 1277, in expand
>   File "gluon/dal.py", line 1163, in OR
>   File "gluon/dal.py", line 1279, in expand
> TypeError: CONTAINS() takes exactly 3 arguments (2 given)
>
>
> What did i do wrong?
>
> Regards,
>
> Ashraf
>

-- 



Reply via email to