Django:查询许多记录的最有效方法?

2024-06-28 18:51:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张有几千条记录(产品)的表格。每个产品有4个不同的类别:

CAT1 CAT2 CAT3 CAT4

我想知道是否有一种方法或最佳实践是,根据已经选择的类别动态检索可用的类别(使用Ajax)。 示例:

如果CAT1 = green所有CAT1 = green的产品都将有一系列CAT2类别,依此类推。我想知道哪些是CAT2 CAT3 CAT4类别的产品匹配CAT1 = green。一旦我设置了一个值或CAT2,我想根据CAT1 && CAT2值来做同样的操作。在

谢谢。在


Tags: 方法示例产品记录动态ajaxgreen类别
2条回答

这是一种通常称为“选择链接”或“链接选择”的技术。在

您可以使用一些相当简单的javascript,如How to limit choice field options based on another choice field in django admin的答案所示

您还可以使用预打包的解决方案,如django-smart-selects(可以通过django chain select的SO答案找到)

谢谢你的回复。链式select只能部分工作,因为我没有层次结构。 以下是数据示例:

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的唯一选项是重的,依此类推。在

我的方法是获取整个产品表的json,并在选择了一个类别之后查找可用值。。。但是products表包含数千个条目,我很确定它会减慢整个应用程序的速度。 添加过滤器函数(list_filter)时,管理页面中有类似的内容,因为它只显示其中包含一些条目的字段。在

谢谢!在

相关问题 更多 >