Django - 具有多个模型的CreateView

Mir*_*bin 4 python django

我可以使用Django CreateViews创建一个向多个表添加数据的表单吗?我创建了一个名为UserMeta的模型来存储我的用户的一些额外信息.

问题

我想用CreateViews创建一个视图,它显示用于创建新用户的字段(Django用户模型)和一些基于我的UserMeta模型的额外字段:

class UserMeta(models.Model):
    country_code = models.CharField(max_length=30, verbose_name="Nome",
                            help_text="Insert the name of the country")
Run Code Online (Sandbox Code Playgroud)

我需要一个像这样的输出模式:

| - 体

| - 输入user.name

| - 输入user.username

| - 输入用户....

| - 输入usermeta.country_code

Ian*_*ice 5

django-extra-views为此,您可以使用其他CBV的集合.

from extra_views import CreateWithInlinesView InlineFormSet

class UserMetaInline(InlineFormSet):
    model = UserMeta    

class UpdateOrderView(CreateWithInlinesView):
    model = User
    inlines = [UserMetaInline,]
Run Code Online (Sandbox Code Playgroud)

虽然这些内联通常用于外键关系,但它们也适用于一对一.