我想创建一个formView(基于Django内置 CreateView 类),以允许创建来自两个不同模型的新用户记录。
两种模式听起来像是用户模型,另一种是用户个人资料模式 l。
我希望一个表单有一个提交按钮来接近它,但我发现在Django的一个createView类中只能分配一个 form_class 。
所以我想知道是否可以使用 CreateView 来接近它?如果没有,推荐任何解决方案?如果你有任何帮助,我们会感激。
答案 0 :(得分:1)
So you have two models for user and user_profile. One user one profile
so:
Try this:
#models.py
class User_profile(models.Model):
User= models.Foreignkey('User')
#add more user data
#forms.py
class UserProfileForm(ModelForm):
model = User_profile
fields = ['User']
#views.py
class SomeView(CreateView):
form_class = UserProfileForm()
答案 1 :(得分:0)
实际上,我找到了解决方案:使用用户模型并以与下面相同的形式添加个人资料的字段
class userCreateForm:
email = forms.EmailField(label=_("E-mail"))
contact_number = forms.CharField(label=_("Contact"))
contact_address = forms.CharField(label=_("Address"))
class Meta:
model = User
fields = (UsernameField(), "email", "contact_number", "contact_address")