I think you want

(db.users_tags.user != db.auth_user.id)

instead of

(db.users_tags.user != auth.user.id

On Apr 14, 12:05 pm, Jason Brower <encomp...@gmail.com> wrote:
> On 04/14/2011 08:46 AM, ron_m wrote:> The _select is a nested select - the 
> one in the second half of the
> > WHERE clause that Christian wrote out for the SQL equivalent.
>
> > But the _select needs to return exactly one column, try changing
> > _select() to _select(db.user_tags.tag)
>
> > There is some discussion in the manual under the belongs topic
>
> > Ron
>
> I see a bit better now, and it kind of works.
> {'users_tags': {'user': 1}, '_extra': {'COUNT(users_tags.id)': 1}}
> {'users_tags': {'user': 3}, '_extra': {'COUNT(users_tags.id)': 2}}
> This represents one user having a relation on tags between two users,
> very cool, but I want the users information, and doing a query on each
> user is the inefficient way to do it right? I should join them, and I
> know how to do that, but this one, I have no idea.
>
>      count = db.users_tags.id.count()
>
>      query = db((db.users_tags.user != auth.user.id)&           #\/-- isn't 
> that the join?
>
>                 
> (db.users_tags.tag.belongs(db(db.users_tags.user==auth.user.id)._select(db. 
> users_tags.tag))))
>
>                                                                 #/\--- Right 
> there?
>
>      rows = query.select(db.users_tags.user,
>
>                          count,
>
>                          groupby=db.users_tags.user,
>
>                          orderby=count)
>
>      for row in rows:
>
>          print row.as_dict()
>
> Best Regards,
> Jason

Reply via email to