I guess because his Author reference field is of type list:reference ?! Richard
On Thu, Nov 21, 2013 at 3:12 PM, Niphlod <niph...@gmail.com> wrote: > 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> 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. >>> >>> 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. > -- 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.