why contains instead of == ? db(db.Book.Author == Author.id).select(db.Book.ALL, orderby=db.Book.Name)
On Thursday, November 21, 2013 4:31:53 PM UTC+1, Richard wrote: > > Ok, figured out, I think, what happen is that you use index to get record > in l (that actually is a pretty bad variable name since it could be > confused with 1 - ONE with some fonts)... By using an index you always get > only the first row in rows because your "l" variable is a rows object that > contains many row(s)... So you only get the first one each time. > > You don't have to make complicated code like so... > > This should work better : > > thead = THEAD(TR(TH(Author), TH(Books))) > tr = [] > for Author in AL: > rows = db(db.Book.Author.contains(Author.id)).select(db.Book.ALL, > orderby=db.Book.Name) > > tr.append(TR(TD(Author.Name), TD([row.Name for row in rows]))) > > table = TABLE(thead, TBODY(tr)) > > return dict(table=table) > > In your view : > > {{=table}} > > > > Richard > > > > > > On Thu, Nov 21, 2013 at 10:16 AM, BlueShadow <kevin....@gmail.com<javascript:> > > wrote: > >> def Authors(): >> AL=db().select(db.Author.ALL, orderby=db.Author.Name) >> TheList=[] >> for Author in AL: >> l=db(db.Book.Author.contains(Author.id)).select(db.Book.ALL, >> orderby=db.Book.Name) >> if len(l)>0: >> TheList.append([l[0]]) >> else: >> TheList.append([]) >> return dict(AL=AL,BookList=TheList) >> here is my controller funktion >> and my view: >> <table> >> {{i=0}} >> {{for Author in AL:}} >> <tr> >> <td>{{=Author.Name}}</td><td></td> >> </tr> >> {{for b in BookList[i]:}} >> <tr> >> <td></td><td>{{=b.Name}}</td> >> </tr> >> {{pass}} >> {{i+=1}} >> {{pass}} >> </table> >> its supposed to give an alphabetical list of all authors which it does. >> and list all their books (only one is displayed) >> >> >> -- >> Resources: >> - >> http://web2py.com<http://www.google.com/url?q=http%3A%2F%2Fweb2py.com&sa=D&sntz=1&usg=AFQjCNE7x6wflFTAQ11b-FhtMwFfvltXeg> >> - >> http://web2py.com/book<http://www.google.com/url?q=http%3A%2F%2Fweb2py.com%2Fbook&sa=D&sntz=1&usg=AFQjCNFAv433a0RL4nfaYxTbZ4cHi4Q78A>(Documentation) >> - >> http://github.com/web2py/web2py<http://www.google.com/url?q=http%3A%2F%2Fgithub.com%2Fweb2py%2Fweb2py&sa=D&sntz=1&usg=AFQjCNHSwgWBkjuiIoo30014e8BB_iCDag>(Source >> code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> You received this message because you are subscribed to the Google Groups >> "web2py-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to web2py+un...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.