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