Skip to content

Instantly share code, notes, and snippets.

@rafaelnovello
Created January 31, 2012 18:35
Show Gist options
  • Save rafaelnovello/1712078 to your computer and use it in GitHub Desktop.
Save rafaelnovello/1712078 to your computer and use it in GitHub Desktop.
Select users to the group in group form on Django Admin.
# -*- coding: utf-8 -*-
from django.forms import ModelForm
from django import forms
from django.contrib.auth.models import Group, User
class GroupAdminForm(ModelForm):
class Meta:
model = Group
group_users = forms.ModelMultipleChoiceField(label=u'Usuários deste Grupo', queryset=User.objects.all())
def __init__(self, *args, **kwargs):
super(GroupAdminForm, self).__init__(*args, **kwargs)
users_id = list()
# Avoid 'No exception supplied'
try:
users = self.instance.group.user_set.all()
for u in users:
users_id.append(u.id)
if self.fields.has_key('group_users'):
self.fields['group_users'].initial = users_id
except Exception, e:
pass
def clean(self):
group = self.cleaned_data['group']
group.save()
if group.user_set.all():
group.user_set.clear()
try:
users = self.cleaned_data['group_users']
for user in users:
group.user_set.add(user)
except:
return self.cleaned_data
return self.cleaned_data
@Laotanling
Copy link

HI,my code had some problem with

  • role
    • Select a valid choice,can you help me ?if i can add your facebook ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment