我如何在管理员之外复制 admin.TabularInline(在用户端?)

Posted

技术标签:

【中文标题】我如何在管理员之外复制 admin.TabularInline(在用户端?)【英文标题】:how can i replicate admin.TabularInline outside of the admin (on the user side?) 【发布时间】:2021-11-04 09:15:24 【问题描述】:

鉴于模式 A 和模型 B 具有与模型 A 多对多关系的字段,我试图允许用户创建模型 B 的对象同时创建模型 A 的内联/在线对象-fly 就像 TabularInline 允许你在管理员上做的那样。

【问题讨论】:

【参考方案1】:

这是一个非常常见的问题,解决方案并非易事(至少目前如此)。 Django 管理员使用 javascript(jQuery) 来完成这项任务。表单的乘法需要大量更改值和 ID 等。但最近人们开始使用 htmx 进行此操作。它的完成方式在 JustDjango 的this 文章中进行了彻底的解释。甚至还有一个关于它的视频教程。我个人喜欢他们这样做的方式。你可以试一试。感觉和看起来就像在 django 管理员中。如果你想纯粹在 django 中做,你可以查找formset_factory

【讨论】:

谢谢!这个 htmx 似乎是我需要的...我从文章中看到该示例是基于外键关系的。你知道它是否也适用于多线程吗? 是的,当然,它也应该适用于多对多。顺便说一句,如果答案对您有帮助,您可以选择它作为接受的答案。 我会尽快实施!

以上是关于我如何在管理员之外复制 admin.TabularInline(在用户端?)的主要内容,如果未能解决你的问题,请参考以下文章

如何在函数之外获取数据,我尝试全局变量但它不起作用? [复制]

如何在 Fetch 的承诺链之外获取响应数据? [复制]

如何将 summarise_each 应用于除一列之外的所有列? [复制]

当在 tableview 之外触摸时。如何关闭 tableView? [复制]

如何在java中的方法之外使用对象? [复制]

如何从 htdocs 或 xampp 文件夹之外的 cmd 启动任何项目? [复制]