Задать вопрос

Django 2. Как сделать чтобы форма регистрации наследовалась от 2 моделей, например встроенной модели user и моей модели UserProfile?

Есть 2 класса формы:
class ExtendedUserCreationForm(UserCreationForm):
	email = forms.EmailField(required = True)

	class Meta:
		model = User
		fields = ['username','email','password1','password2']

	def save(self,commit = True):
		user = super().save(commit = True)

		user.email = self.cleaned_data['email']
		
		if commit:
			user.save()
		return user 

class UserProfileForm(forms.ModelForm):
	class Meta:
		model = UserProfile
		fields = ('first_name','last_name','father_name')


А мне нужно сделать так, чтобы вместо двух классов был один. И при этом всё поля 2 моделей нужно поместить в одну переменную fields. Это мне нужно для того чтобы сортировать поля формы в шаблоне у нужной мне последовательности. При этом поля first_name и last_name я хочу сохранять и в таблице модели user и в таблице UserProfile.
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
zenwalker
@zenwalker
0xABADBABE
Создайте Form (не ModelForm а просто Form) с нужным вам набором полей. Реализуйте в нем метод save, где указанные поля разложите в нужные модельки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы