我有一张包含几千条记录(产品)的表格。每种产品都有4个不同的类别:
CAT1 CAT2 CAT3 CAT4
我想知道是否有一种方法,或者什么是最佳实践,根据已经选择的类别(使用Ajax)动态检索可用的类别。 例如:
CAT1 = green
CAT1 = green
所有带有CAT2
的产品都会有一系列CAT1 = green
类别等等。我想知道哪些CAT2 CAT3 CAT4类别的产品与CAT2
匹配。设置值或CAT1 && CAT2
之后,我也希望根据{{1}}值执行相同操作。
感谢。
答案 0 :(得分:0)
这种技术通常称为“选择链接”或“链式选择”。
您可以使用一些相当简单的javascript,如How to limit choice field options based on another choice field in django admin
的答案所示您还可以使用预先打包的解决方案,例如django-smart-selects(通过SO回答django chain select找到)
答案 1 :(得分:0)
感谢您的回复。链式选择仅部分工作,因为我没有分层结构。 以下是数据示例:
PRODUCT 1
CAT1 = vegetables
CAT2 = heavy
CAT3 = green
PRODUCT 2
CAT1 = vegetable
CAT2 = light
CAT3 = red
PRODUCT 3
CAT1 = diary
CAT2 = heavy
CAT3 = red
在我的模板中,我想创建一个系统,以便当用户选择CAT1 = vegetables
时,他们会看到CAT2
选项较重而且较轻,而如果他们选择CAT1 = diary
则是CAT2
的唯一选项list_filter
很重,等等。
我的方法是获取整个产品表的json,并在选择一个类别后查找可用的值...但产品表包含数千个项目,我很确定它会减慢整个应用程序 添加过滤器功能({{1}})时,管理页面中有类似内容,因为它只显示包含某些条目的字段。
谢谢!