将 Django 中的多对多关系表示为两个多项选择

Posted

技术标签:

【中文标题】将 Django 中的多对多关系表示为两个多项选择【英文标题】:Representing ManyToMany relation in Django as two multichoices 【发布时间】:2013-05-14 04:37:54 【问题描述】:

我有一些 many2many 字段,有很多选项可供选择,我希望每个选项有两个多项选择,左侧是可用选项,右侧是所选选项。这是 Django 使用Groups 做的一个例子。

我有两个问题:

    这种“widged”怎么称呼? 如何使用 Django 1.5.1 以简单的方式实现它,以便在前端和后端表单中使用它?是否有原生选项或第 3 方应用?

谢谢!

【问题讨论】:

这有帮助吗? ***.com/questions/2216974/… @karthikr 我认为这对我没有帮助。我真正需要的是:而不是直接在多个选项中选择项目,我希望能够通过单击propper箭头填充第二个项目。 【参考方案1】:

这个小部件被称为FilteredSelectMultiple。它可以通过 ModelAdmin 类的filter_horizontal 或filter_vertical 属性在 Django admin 中使用。如果您想自己实现这样的小部件,也许它的源代码会有所帮助。

【讨论】:

非常感谢!这就是我要找的!我已经在管理员中工作了。对于前端表单,我找到了这个网站dashdrum.com/blog/2012/05/using-the-filterselectmultiple-widget 我会试一试! :)

以上是关于将 Django 中的多对多关系表示为两个多项选择的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 中处理未保存的多对多关系?

如何从django orm中的多对多关系表中提取数据

从 Django 查询中的多对多关系中检索项目

使 ModelForm 与 Django 中的中间模型的多对多关系工作的步骤是啥?

Django,在 self 类中的多对多关系中,我如何在 ORM 方面相互引用?

根据特定的多对多关系过滤 Django 查询集