我不在 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
答案 0 :(得分:0)
您需要保存表单而不是用户实例 取代
if form.is_valid():
user.save()
#^^^^
与
if form.is_valid():
form.save()
#^^^^