を編集しようとしています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'
ました。私はかなりグーグルで検索し、使用しようとしましadd()
たが、うまくいきませんでした。この動作の原因は何ですか?
問題は、2 つのprint
ステートメントが出力されることです。しかし、値はデータベースに保存されませんでした。2行目はもう1回セーブしただろうと思っていました。
ありがとう