u.groups[0] corresponds to the group object.

u.groups[0].group_id = str(cgi.escape(kw['group']))
in this line u r trying to change the id of the group of the user.

you have to do something like
1.remove all the groups in u.groups(if u dont want those groups)
2.find the group corresponding to kw['group']
u.groups.add(newgroup)
3.save


On Nov 23, 3:08 pm, adam <[email protected]> wrote:
> so lets say i am updating a users authentication level i am trying to
> do this
>
> u = DBSession.query(User).filter_by(user_name=session.get
> ('old_username', None)).one()
>                 u.user_name = str(kw['username'])
>                 u.display_name = str(cgi.escape(kw['display']))
>                 u.email_address = str(cgi.escape(kw['email']))
>                 u.groups[0].group_id = str(cgi.escape(kw['group']))
>
> but it throws the error IntegrityError: (IntegrityError) PRIMARY KEY
> must be unique u'UPDATE tg_group SET group_id=? WHERE
> tg_group.group_id = ?' ['3', 5]. What have i missed?
>
> On Nov 22, 4:22 pm, Jasper <[email protected]> wrote:
>
> > The User has a groups list as attribute. Group.group_name will give
> > you the group name.
>
> > ex:
> > DBSession.query(User).first().groups[0].group_name
> > (assuming that the first user is member of at least one group ;) )
>
> > Kind regards,
> >     Jasper
>
> > On Nov 22, 2:21 pm, adam <[email protected]> wrote:
>
> > > Hello,
>
> > > I am using the TG2 authentication method and i need to get the name of
> > > the group a user belongs too. How do i go about searching the
> > > tg_user_group table for the group_id for the mathcing user_id and then
> > > search the tg_group table for the name?

--

You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=.


Reply via email to