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.
>>>>>>
>>>>>>
>>>>>>

-- 



Reply via email to