我可以使用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")
我需要一个像这样的输出模式:
| - 形式
| - 输入user.name
| - 输入user.username
| - 输入用户....
| - 输入usermeta.country_code
答案 0 :(得分:5)
为此目的,您可以使用django-extra-views
,一组额外的CBV。
from extra_views import CreateWithInlinesView InlineFormSet
class UserMetaInline(InlineFormSet):
model = UserMeta
class UpdateOrderView(CreateWithInlinesView):
model = User
inlines = [UserMetaInline,]
虽然这些内联通常用于外键关系,但它们也适用于一对一。