2

我正在尝试使用内联 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实例创建一个新实例并使用相同的视图函数保存整个批次?

谢谢!

4

1 回答 1

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
于 2011-06-12T15:54:56.153 回答