У меня есть такая форма, как показано ниже. При нажатии на кнопку «Добавить» вместо уведомления о том, что поля обязательны для заполнения Я получаю сообщение об ошибке:Форма не подтверждена в Django
DoesNotExist at /users/add-to-group/
Group matching query does not exist.
Мой код формы
class AddUserToGroupForm(forms.ModelForm):
group = forms.ModelChoiceField(queryset=Group.objects.all(), required=True)
user = forms.ModelChoiceField(queryset=User.objects.all(), required=True)
class Meta:
model = User
fields = ['group', 'user']
def has_group(self, user, group_name):
group1 = Group.objects.get(name=group_name)
return True if group1 in user.groups.all() else False
def clean(self):
cleaned_data = super(AddUserToGroupForm, self).clean()
g = Group.objects.get(name=cleaned_data.get('group'))
g.user_set.add(cleaned_data.get('user'))
if self.has_group(cleaned_data.get('user'), cleaned_data.get('group')):
self.add_error('user', "This user is already in group.")
return cleaned_data
Теперь я получаю: объект ''NoneType' не имеет атрибута 'user_set'' – mark
См. Обновленный ответ. – catavaran
Спасибо большое :) – mark