Python 在初始化时将值插入模型表单字段
我想将Python 在初始化时将值插入模型表单字段,python,django,django-admin,django-forms,Python,Django,Django Admin,Django Forms,我想将名字、姓氏和电子邮件字段添加到用户配置文件管理页面。因此,您可以在UserProfile管理员中更改用户的所有详细信息,而无需转到其他页面来更改电子邮件和其他一些字段 这是我的自定义表单的外观: class CustomProfileForm(forms.ModelForm): first_name = forms.CharField(max_length=30) last_name = forms.CharField(max_length=30) email =
名字
、姓氏
和电子邮件
字段添加到用户配置文件管理页面。因此,您可以在UserProfile管理员中更改用户的所有详细信息,而无需转到其他页面来更改电子邮件和其他一些字段
这是我的自定义表单的外观:
class CustomProfileForm(forms.ModelForm):
first_name = forms.CharField(max_length=30)
last_name = forms.CharField(max_length=30)
email = forms.EmailField()
class Meta:
model = UserProfile
def __init__(self, *a, **k):
super(CustomProfileForm, self).__init__(*a, **k)
self.user_instance = None
if self.instance:
self.user_instance = self.instance.user
def clean_first_name(self):
self.user_instance.first_name = self.cleaned_data['first_name']
def clean_first_name(self):
self.user_instance.last_name = self.cleaned_data['laset_name']
def clean(self):
self.user_instance.save()
return self.cleaned_data
class UserProfileAdmin(admin.ModelAdmin):
form = CustomProfileForm
我不知道该怎么做才能完成这个。我需要将
用户\u实例
详细信息提供给适当的表单类。要在init方法中设置初始值,可以使用字段字典
def __init__(self, *a, **k):
# < snip >
self.fields[ 'email' ].initial = self.user_instance.email
# ... and any others
def\uuuuu init\uuuuu(self,*a,**k):
#
self.fields['email'].initial=self.user\u instance.email
# ... 还有其他的吗
我的意思是在显示表单时,将用户的电子邮件、姓氏和名字添加到文本框中。当前只有来自UserProfile对象的信息被添加到绑定表单中。我需要添加来自Userprofile.user
实例的数据。哎呀,我没有将你的标题与你的问题正文结合起来。编辑。