当在另一个下拉列表上进行选择时,如何在 Django 的管理员中过滤下拉列表

Posted

技术标签:

【中文标题】当在另一个下拉列表上进行选择时,如何在 Django 的管理员中过滤下拉列表【英文标题】:How to filter a dropdownlist in Django's admin when a selection is made on another dropdownlist 【发布时间】:2012-04-08 20:42:22 【问题描述】:

我在 Django 管理站点中有两个下拉列表。例如,我有 SelectCountry 和 SelectRegion。 Region 与 Country 有外键关系。如何确保在选择国家/地区时,根据该国家/地区过滤区域?

注意:我也在使用 django-grappelli 作为我的管理后端。

任何想法都会受到赞赏。谢谢。

【问题讨论】:

据我所知,没有特别简单的方法。你可以使用javascript;选择一个国家时,异步调用服务器,检索所选国家/地区的区域列表并使用该区域填充第二个列表。这将需要弄乱 django 模板等。 @pastylegs - 感谢您的回复。我希望有一种默认的方式来处理这个问题,因为我不希望(我也没有太多经验)覆盖模板和默认的 Django js 实现。 考虑使用autocompletion而不是动态过滤。 您可能会在这里找到一些有用的想法:***.com/q/9677832/284164 看这里:***.com/questions/1914358/django-chain-select 【参考方案1】:

正如 DrMeers 所暗示的,请使用 django-smart-selects。重新发明***没有意义。

【讨论】:

django-smart-selects 最近变得无人管理。有其他选择吗?

以上是关于当在另一个下拉列表上进行选择时,如何在 Django 的管理员中过滤下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使已选择的选项不显示在另一个选择选项下拉 JAVASCRIPT/ANGULARJs

如何在一个列上进行分组,在另一个列上聚合数组并创建一个由分组列作为键的 JSON 对象

如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表

如何根据另一个下拉菜单值禁用下拉菜单

下拉框取决于在另一个下拉框中选择的选项

laravel,在另一个表的下拉列表中显示数据,但保存在当前表中