Django createView类中的多个表单

时间:2017-10-14 20:21:17

标签: django django-views

我想创建一个formView(基于Django内置 CreateView 类),以允许创建来自两个不同模型的新用户记录。

两种模式听起来像是用户模型,另一种是用户个人资料模式 l。

我希望一个表单有一个提交按钮来接近它,但我发现在Django的一个createView类中只能分配一个 form_class

所以我想知道是否可以使用 CreateView 来接近它?如果没有,推荐任何解决方案?如果你有任何帮助,我们会感激。

2 个答案:

答案 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")