Thanks you! On Wednesday, September 12, 2012 6:51:56 AM UTC-3, Niphlod wrote: > > no, it wont. > users is a "list" of users. > you need to fetch the "list of entities" separately for every "item" of > the "list of the users". > > Il giorno mercoledì 12 settembre 2012 11:46:32 UTC+2, Pepe Araya ha > scritto: >> >> Thanks very much! it works! >> >> if I have the user query in the controller like this: >> >> def user_list(): >> users = db(db.auth_user).select() >> entities = db(db.entity.id.belongs(user.entity)).select(db.entity.name) >> return dict(users = users, entities = entities ) >> >> will work? >> >> --- >> >> Another related question is: why this don't work? >> entities = db.auth_user.entity.represent(user.entity) >> >> on the book appears as the way to get the work done, but it doesn't >> >> >> On Wednesday, September 12, 2012 6:32:44 AM UTC-3, Niphlod wrote: >>> >>> 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. >>>>>> >>>>>> >>>>>>
--