我正在尝试编辑django.contrib.auth.forms.UserChangeForm
. 基本上,auth_user 的用户编辑页面。
https://github.com/django/django/blob/master/django/contrib/auth/forms.py
根据源代码,表单没有save()
方法,所以它应该继承自forms.ModelForm
对吗?
有关完整代码,请参见此处
class MyUserAdminForm(forms.ModelForm):
class Meta:
model = User
def __init__(self, *args, **kwargs):
super(MyUserAdminForm, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
if instance and instance.id: # username and user id
... the rest of the __init__ is setting readonly fields
.... some clean methods .....
def save(self, *args, **kwargs):
kwargs['commit'] = True
user = super(MyUserAdminForm, self).save(*args, **kwargs)
print user.username
print 'done'
return user
当我点击保存时,它说'UserForm' object has no attribute 'save_m2m'
。我已经google了很多,并尝试使用add()
但没有用。是什么导致了这种行为?
问题是:这两个print
语句都被打印出来了。但该值从未保存到数据库中。我以为第二行已经保存了一次。
谢谢