我正在尝试使用内联 formSet 创建记录,同时使用普通表单创建记录,其主键是内联 formSet 的外键,所有这些都在同一 HTML 页面上。
有道理吗?我的意思是:假设我有以下两个模型(显然不是真正的代码,但你明白了):
Class mainModel
Primary Key (custom pk I create)
field1
field2
Class inlineFormModel
autoPK
field1 = ForeignKey(mainModel)
field2
现在,我想为用户创建一个 HTML 页面,以便他们可以在创建多个 inlineFormModel
实例的同时创建一个 mainModel
实例。 mainModel
将是普通表单,而 inlineFormModel
将使用 inlineFormsets。问题是,当我保存所有表单时,没有外键链接到内联 formSet 记录,因为它引用的模型仍在创建(所有内容都保存在同一 View 中)。这有道理吗?
我将如何使用多个 secondModel
实例创建一个新的 mainModel
实例,并使用相同的 View 函数保存整个批处理?
谢谢!
最佳答案
这是一个常见的场景,我不知道为什么文档中没有解决:
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
关于Django 的内联表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6322826/