尝试结合 Django inline-formset、django-select2 和 django-dynamic-formset

Trying to combine Django inline-formset, django-select2 and django-dynamic-formset

我试图将标题中提到的所有内容与总有遗漏的内容结合起来。我已经浏览了我能找到的所有可能的帖子,但仍然不确定该怎么做。

所以我基本上有两个型号,分别是master-detail。当我使用普通的 django 东西时 - 一切都很好,但在详细模型中我有超过 10000 个元素,经典的 select 字段无法使用。所以我通过django-select2模块切换到select2。我以某种方式设法将所有内容放在一起,但是如果我需要超过三个 django 默认呈现的行,则必须添加 django-dynamic-formset 才能动态添加新行。同样,我设法使一切正常,在将所有东西放在一起时遇到了一些问题,但现在我遇到了两个问题。

如果我在 jquery.formset.js 中留下这段代码:

insertDeleteLink(row);

我会收到这条消息:

jquery.formset.js:67 Uncaught ReferenceError: deleteButtonHTML is not defined
    at insertDeleteLink (jquery.formset.js:67)
    at HTMLTableRowElement.<anonymous> (jquery.formset.js:146)
    at Function.each (jquery-2.2.4.min.js:2)
    at n.fn.init.each (jquery-2.2.4.min.js:2)
    at n.fn.init.$.fn.formset (jquery.formset.js:124)
    at HTMLDocument.<anonymous> (1:92)
    at i (jquery-2.2.4.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-2.2.4.min.js:2)
    at Function.ready (jquery-2.2.4.min.js:2)
    at HTMLDocument.J (jquery-2.2.4.min.js:2)

如果我删除它,则不会生成行的删除链接,即使我的模板中有

<td>{% if form.instance.id %}{{ form.DELETE }}{% endif %}</td> 

所以,我以 half-solution 结尾,我可以添加行,我可以填充它们,select2 最终按预期工作,但我不能删除行,而不是在我创建新项目和当我删除旧的时不是。

另一个问题是,如果 django 详细创建三行 table(按设计),而我只填充第一行,它会保存所有三行。不确定如何在保存 formset 时删除行(尝试在执行 POST 时执行 form.delete,但它不起作用)。

如果有帮助,我当然可以添加更多代码。

假设最新 jquery.formset.js 来自 github,它需要修复 'deleteButtonHTML' 到 'delButtonHTML' 到目前为止还不在常规回购中 https://github.com/Dowsley/django-dynamic-formset/commit/1a781fd6b1a7a5f6348b43097983773f0d2a69de