python - Django Groups not updating when saving User -



python - Django Groups not updating when saving User -

i'm trying add together users belong staff staff grouping on change. i've tried signals , overloading save in user model neither of them seem work. django has limitations i'm not aware of when saving?

here both code snippets tried work with. user inherited abstractuser , used new django 1.5 feature auth_user_model = 'app.user', groups standard auth groups.

class user(abstractuser): def save(self, force_insert=false, force_update=false, **kwargs): if self.is_staff: if not self.groups.filter(name='staff').exists(): g = group.objects.get(name='staff') g.user_set.add(self) else: if self.groups.filter(name='staff').exists(): g = group.objects.get(name='staff') g.user_set.remove(self) super(user, self).save(force_insert, force_update) @receiver(post_save, sender=user) def my_handler(sender, **kwargs): user = kwargs['instance'] if user.is_staff: if not user.groups.filter(name='staff').exists(): g = group.objects.get(name='staff') g.user_set.add(user) else: if user.groups.filter(name='staff').exists(): g = group.objects.get(name='staff') g.user_set.remove(user)

if utilize form(modelform) reason disappearing grouping might form.save_m2m() called after user.save(). example, if have empty "groups" field in form, save_m2m removes groups user.

python django django-1.5

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -