forms.py
class PermissionForm(forms.Form):
def __init__(self, *args, **kwargs):
self.rolesChoices = kwargs.pop('rolesChoices')
super(PermissionForm, self).__init__(*args, **kwargs)
print(self.rolesChoices)
self.fields['roles'].queryset = self.rolesChoices
print(self.fields['roles'].queryset)
roles = forms.ModelChoiceField(
queryset=None, widget=forms.CheckboxSelectMultiple, empty_label=None)
views.py
def privileges(request):
rolesChoices = Permission.objects.filter(
content_type=ContentType.objects.get_for_model(Group))
for role in rolesChoices:
role.name = role.name.replace("group", "role")
form = PermissionForm(rolesChoices=rolesChoices)
return render(request, 'crm/privileges.html', {'form': form})
I am passing group objects to my form when I am initializing it in views.But I am done a small change, I replaced group with role.So the problem is role get changed with group automatically.I don't know why it's happenging.
For example self.roleChoices contains Can add role
When I assign self.roleChoices to self.fields['roles'].queryset it changes to Can add group
