1
我有「擴展」 Django的contrib.auth.models「用戶」,如:Django:保存時更新相關對象?
class UserProfile(models.Model):
user = models.ForeignKey(User, related_name = 'profile')
date_of_birth = models.DateField(blank=True, null=True)
avatar = models.ImageField(upload_to=get_avatar_path, null=True, blank=True)
friends = models.ManyToManyField(User, related_name = 'user_friends', blank=True, null=True)
bio = models.TextField(null=True, blank=True)
我希望用戶能夠從UserChangeForm更新電子郵件,這樣的事情:
forms.py
class UserUpdateForm(UserChangeForm):
email = forms.EmailField()
def __init__(self, *args, **kwargs):
super(UserUpdateForm, self).__init__(*args, **kwargs)
self.fields.pop('username')
self.fields['email'].initial = self.instance.user.email
class Meta:
exclude = ('friends', 'username', 'password1', 'password2')
model = UserProfile
除了一個不保存電子郵件。
我想過試圖訪問來自post_save信號的request.post數據,所以我可以在那裏設置用戶的新郵件,但不能讓那個人工作。
任何幫助表示讚賞,謝謝。
謝謝指點先生。你的努力應該得到回報! – jussi 2011-04-16 16:43:23