Как получить имя конкретной группы пользователей в запросе формы Django
У меня есть Django форма с выпадающим списком групп пользователей, который создается из Django Admin Panel. У меня есть 3 группы с различными правами, поэтому в этой форме я хочу получить только группу с именем 'Guest' из выпадающего списка и отключить ее. Какой лучший способ сделать это.
Ниже приведено то, что я пробовал, но я получаю следующие ошибки: ImportError: cannot import name 'getgroups' from 'os'
class GuestUserForm(UserCreationForm):
email = forms.EmailField
group = forms.ModelChoiceField(queryset=Group.objects.get('Guest'),
required=True)
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2', 'group']
The standard User
model has a field named groups
, so plural. You can work with a ModelMultipleChoiceField
[Django-doc] and only retain a single element: the group named Guest
:
class GuestUserForm(UserCreationForm):
email = forms.EmailField()
group = forms.ModelMultipleChoiceField(
queryset=Group.objects.filter(name='Guest'),
initial=Group.objects.filter(name='Guest'),
disabled=True
)
class Meta:
model = User
fields = ['username', 'email', 'groups']