我正在尝试使用内联formSet创建记录,同时使用普通表单创建记录,其主键 内联formSet的外键全部在同一HTML页面上。
有意义吗?这就是我的意思:假设我有以下两个模型(显然不是真正的代码,但你明白了):
Class mainModel
Primary Key (custom pk I create)
field1
field2
Class inlineFormModel
autoPK
field1 = ForeignKey(mainModel)
field2
现在,我想为用户创建一个HTML页面,以便他们可以在创建多个mainModel
实例的同时创建inlineFormModel
实例。 mainModel
将是正常形式,而inlineFormModel
将使用inlineFormsets。问题是当我保存所有表单时,没有foreignKey链接到内联formSet记录,因为它所引用的模型仍然被创建(所有内容都保存在同一视图中)。这有意义吗?
我如何创建一个包含多个mainModel
实例的新secondModel
实例,并使用相同的视图函数保存整个批处理?
谢谢!
答案 0 :(得分:3)
这是一种常见的情况,我不知道为什么文档中没有解决这个问题:
initial_form = mainModelForm(request.POST)
if initial_form.is_valid():
form= initial_form.save(commit=False)
my_formset = inline_formset(request.POST,instance=form)
if my_formset.is_valid():
form.save()
my_formset.save()
....... .........
# return codes here