I have a movie table that has a many-to-many relationship with a person table expressed through a star table.
A simplified version of my model: db.define_table('movie', Field('title','string'), db.define_table('person', Field('name', 'string', unique=True), db.define_table('star', Field('movie_id', db.movie), Field('person_id', db.person), I am able to create a select that joins the three tables and produces a result with all the data I need. It's easy to iterate through the result and produce something akin to this: Movie Title Star 1 Movie Title Star 2 Movie Title Star 3 What I want is: Movie Title 1 Star 1, Star 2, Star 3 Movie Title 2 Star 1, Star 2, Star 3 Programmatically, I'd like something like: for each movie in rows <h2>move.title</h2> <ul> for each star in movie.stars <li>star.name</li> Before I write a function to pre-process the result, can someone tell me if there is a helper for producing a result of this kind? This thread addresses the same issue - https://groups.google.com/forum/?fromgroups#!topic/web2py/GQsMt4qvqSs - but I was unable to discern the solution the question asker had produced for himself, the key to which was this: "web2py automatically add the many-to-many sets to an instance with the same name of the relation table" I do not know what that means. --