Я хочу добавить поля first_name
, last_name
и email
на страницу администратора UserProfile. Таким образом, вы можете изменить все данные пользователя изнутри администратора 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
Я не знаю, что делать, чтобы завершить это. Мне нужно предоставить user_instance
подробности в соответствующий класс формы.