我试图将标题中提到的所有内容与总是缺少的东西结合起来。我已经看过了我能找到的所有可能的帖子,但仍然不确定该怎么做。
所以我基本上有两个模型,它们是主-细节模型。当我使用普通的django东西时-一切都可以,但是在细节模型中我有超过10000个元素,并且经典的选择字段是不可能使用的。所以我通过django-select2模块切换到了select2。我设法将所有内容放在一起,但随后必须添加django-dynamic-formset,以便在需要django默认呈现的三个以上行时能够动态添加新行。再一次,我设法让一切都正常工作,当我把所有东西放在一起的时候,我遇到了一些问题,但现在我有两个问题。
如果我把这段代码放在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> 因此,我以半解决方案结束,我可以添加行,可以填充它们,select2最终可以按预期工作,但我不能删除行,不能在创建新项时删除行,也不能在删除旧项时删除行。
另一个问题是,如果django在detail表中创建了三行(根据设计),而我只填充了第一行,那么它将保存所有三行。不确定如何在保存表单集时删除行(尝试在执行POST时执行form.delete,但不起作用)。
当然,如果有用的话,我可以添加更多的代码。
发布于 2020-05-31 02:29:40
假设来自github的最新jquery.formset.js,它需要一个'deleteButtonHTML‘到'delButtonHTML’的修复,到目前为止还不在常规的repo https://github.com/Dowsley/django-dynamic-formset/commit/1a781fd6b1a7a5f6348b43097983773f0d2a69de中。
https://stackoverflow.com/questions/62072374
复制相似问题