Django - 使用CreateView创建多个模型

7

我可以使用Django CreateViews 来制作一个表单,将数据添加到多个表中吗? 我创建了一个名为UserMeta的模型,用于存储用户的一些额外信息。

问题

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

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

我需要一个类似于以下这样的输出模式:

|-表单

|-- 输入 用户名字

|-- 输入 用户名

|-- 输入 用户...

|-- 输入 用户元数据.国家代码

1个回答

9
您可以使用django-extra-views,这是一个额外的类视图集合,用于此目的。
from extra_views import CreateWithInlinesView InlineFormSet

class UserMetaInline(InlineFormSet):
    model = UserMeta    

class UpdateOrderView(CreateWithInlinesView):
    model = User
    inlines = [UserMetaInline,]

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


虽然这可能已经足够了,但我认为对于 Django 新手来说,在每个模型上展示字段的示例会更好。 - stats con chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接