在Django中编辑用户编辑表单中的组

时间:2017-08-17 09:44:45

标签: python django

我不在 Django 中使用管理员应用程序,我想用表单编辑用户,但是当我向用户编辑组时,Django不保存我的选择而用户没有基团。

views.py

def useredit(request, pk):
    user = get_object_or_404(User, pk=pk)

    if request.method == "POST":
        form = EditUserForm(request.POST, instance=user)

        if form.is_valid():
            user.save()
            messages.success(request, 'Utilisateur édité avec succés !')
            return HttpResponseRedirect('/user')
    else:
        form = EditUserForm(instance=user)

    return render(request, 'compta/users/edit.html', {'form': form})

forms.py

class EditUserForm(UserChangeForm):
    class Meta:
        model = User
        fields = '__all__'

    def save(self, commit=True):
        user = super().save(commit)
        self._save_m2m()

        return user

1 个答案:

答案 0 :(得分:0)

您需要保存表单而不是用户实例 取代

    if form.is_valid():
        user.save()
        #^^^^

    if form.is_valid():
        form.save()
        #^^^^