I did not get it...
What would be an equivalent query I would need to pass for below?  I
need to just select rows (Friend_name column for all status that are
Friend and reguserid is whatever the logged in users id)  for below
conditions - I thought select was a valid query! Please suggest

Existing -
query = db((db.friends.reguserid==session.logged_in_user_id) &
(db.friends.status=="Friend")).select(db.friends.friend_name)


FYI, The Database Table:
reqstatus = ["Friend","Rejected","Sent"]
db.define_table('friends',
                Field('reguserid'),
                Field('friendid'),
                Field('status', requires=IS_IN_SET(reqstatus)),
                Field('friend_name'),
                )


Thanks,

Sincerely, Rahul D.




On Jan 9, 7:00 pm, Anthony <abasta...@gmail.com> wrote:
> SQLFORM.grid takes a query as the first argument, and you are passing a
> Rows object instead (i.e., you have applied the .select() method to your
> query). Just pass in the query without the .select().
>
> Anthony
>
>
>
>
>
>
>
> On Monday, January 9, 2012 6:12:55 AM UTC-5, Rahul wrote:
>
> > Hi All,
> >       Why do I get this error Error - AttributeError: 'Rows' object
> > has no attribute '_db'. Please have a look at the code given below.
> > Whenever I hit the myfriends url, I get the below issue.
> > =============ERROR================
> > Ticket ID
> > 127.0.0.1.2012-01-09.16-23-52.fb79b661-40af-4431-bdfa-7f1d5d3af482
> >  <type 'exceptions.AttributeError'> 'Rows' object has no attribute
> > '_db'
>
> > Version
> >  web2py™
> > (1, 99, 4, datetime.datetime(2011, 12, 14, 14, 46, 14), 'stable')
>
> > Python
> > Python 2.7.2: C:\Python27\python.exe
>
> > Traceback
> > 1.2.3.4.5.6.7.8.9.10.11.12.
> > Traceback (most recent call last):
> > File "D:\WEB2PY\web2py\gluon\restricted.py", line 204, in
> > restricted    exec ccode in environment
> > File "D:/WEB2PY/web2py/applications/Build_Connect/controllers/
> > default.py", line 735, in <module>
> > File "D:\WEB2PY\web2py\gluon\globals.py", line 172, in <lambda>
> > self._caller = lambda f: f()
> > File "D:/WEB2PY/web2py/applications/Build_Connect/controllers/
> > default.py", line 707, in myfriends    csv=False, maxtextlength=128,
> > paginate=50)
> > File "D:\WEB2PY\web2py\gluon\sqlhtml.py", line 1455, in grid    db =
> > query._dbAttributeError: 'Rows' object has no attribute '_db'
>
> > =============
>
> > -------Here's the code---------
> > My Controller:
>
> > #This lists friends
> > def myfriends():
> >     db.friends.id.readable=False
> >     query = db((db.friends.reguserid==session.logged_in_user_id) &
> > (db.friends.status=="Friend")).select(db.friends.friend_name)
> >     print db._lastsql
>
> >     fields = (db.friends.id, db.friends.reguserid,
> > db.friends.friendid, db.friends.status, db.friends.friend_name,)
> >     headers ={'friends.id': 'ID',
> >               'friends.reguserid': 'ReguserID',
> >               'friends.friendid': 'FriendID',
> >               'friends.status': 'Status',
> >               'friends.friend_name': 'Friend Name',
> >               }
>
> >     #default_sort_order = [db.friends.friendid] #,
> > db.projects_posts.expected_start_date
>
> >     links = [lambda row: A(SPAN(_class='icon check'),'View
> > Profile',_class='positive button',_title='View this friends profile',
> > _href=URL("default","view_friend_profile",args=[row.friendid])),
> >              lambda row: A(SPAN(_class='icon cross'),'Remove
> > Friend',_class='negative button',_title='Remove from friend list',
> > _href=URL("default","remove_friend",args=[row.friendid]))]
>
> >     table = SQLFORM.grid( query=query, #fields=fields,
> > #headers=headers,  #orderby=default_sort_order,
> >                           user_signature=False, links=links,
> > create=False, searchable=False,
> >                           details=False, showbuttontext=False,
> > deletable=False, editable=False,
> >                           csv=False, maxtextlength=128, paginate=50)
>
> >     return dict(table=table)
>
> > #View Friends Profile
> > def view_friend_profile():
> >     session.myfriendid = request.args[0]
> >     #print session.myfriendid
> >     query = db(db.reguser.id==session.myfriendid).select()
> >     table = SQLFORM.grid(query=query)
> >     return dict(table= table)
>
> > #Remove Friend from Friends list
> > def remove_friend():
> >     session.myfriendid = request.args[0]
> >     db((db.friends.reguserid==session.logged_in_user_id) &
> > (db.friends.friendid==session.myfriendid) ).update(status='Rejected')
> >     #print db._lastsql
> >     return dict()
>
> > ----x-----------------------
>
> > My View: (myfriends.html)
>
> > {{extend 'layout.html'}}
> > <h3>Friends List</h3>
> > <head>
> > <link rel="stylesheet" href="{{=URL(r=request,c='static',f='css/
> > css3buttons.css')}}" media="all" />
> > </head>
> > <hr />
> > {{=table}}
> > -----------x---------------------------------
> > My Table in db.py
> > reqstatus = ["Friend","Rejected","Sent"]
> > db.define_table('friends',
> >                 Field('reguserid'),
> >                 Field('friendid'),
> >                 Field('status', requires=IS_IN_SET(reqstatus)),
> >                 Field('friend_name'),
> >                 )
>
> > ----------------------------------------------------------------
>
> > I am using  - web2py1.99.4 , Win7 and python 2.7
>
> > Sincerely, Rahul D

Reply via email to