more or less {{for user in db(db.auth_user).select():}} Name : {{=user.name}} {{entities = db(db.entity.id.belongs(user.entity)).select(db.entity. name)}} Entities : {{', '.join(ent.name for ent in entities)}} {{pass}} --
of course you should probably fetch the result in the controller and show only them in the view. BTW: this is pretty simple and standard for web2py. If you were asking for something else please post more details... Il giorno mercoledì 12 settembre 2012 11:10:33 UTC+2, Pepe Araya ha scritto: > > Hi, > a question: how do you display the entities related to a user in a View > which displays a list of users with their related entities?? > > for example: > > Name: user 1 > Entities: one, two > > -- > > Name: user 2 > Entities: one > > -- > ... > > Thanks. > > On Friday, May 11, 2012 12:16:32 PM UTC-4, Niphlod wrote: >> >> If you need to fetch all entities knowing the user in advance there is a >> ultra-simple way to fetch entities in a single query.... >> Actually I don't think anyone will come up with a solution involving more >> than 1 additional query to the one required for "selecting" the user. >> >> user = db.auth_user(auth.user_id) >> entities = db(db.entity.id.belongs(user.entity)).select(db.entity.name) >> >> Mind that the auth_user line is copied into session, so if that is always >> available you can skip the first query and do >> >> entities = db(db.entity.id.belongs(auth.user.entity)).select( >> db.entity.name) >> >> >> >> Il giorno venerdì 11 maggio 2012 17:28:38 UTC+2, weheh ha scritto: >>> >>> db.define_table('entity', Field('name'), format='%(name)s') >>> auth_user_table = db.define_table( >>> auth.settings.table_user_name, >>> ... >>> Field('entity', 'list:reference db.entity', >>> requires=IS_IN_DB(db, 'entity.id','%(name)s', multiple=True), >>> ... >>> ) >>> >>> Later, I want to get a list of entities by name from the list: reference >>> entry for the current user. >>> >>> I would think I could do this: >>> user = db(db.auth_user.id == auth.user_id).select().first() >>> entities = db.auth_user.entity.represent(user.entity) >>> but I get a ticket: >>> File "N:/web2py/applications/myapp/controllers/mycontroller.py", line >>> 15, in myfunc >>> return dict(etext=db.auth_user.entity.represent(user.entity)) >>> TypeError: 'NoneType' object is not callable >>> >>> >>> I've tried a few different variations on the theme, but none working so >>> far. Any help would be appreciated. >>> >>> There are obvious slower ways to do this, but inelegant. I want the >>> fastest, tightest solution. >>> >>> >>> --