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

时间:2010-10-14 13:52:18

标签: python mysql ajax django django-templates

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

CAT1 CAT2 CAT3 CAT4

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

CAT1 = green CAT1 = green所有带有CAT2的产品都会有一系列CAT1 = green类别等等。我想知道哪些CAT2 CAT3 CAT4类别的产品与CAT2匹配。设置值或CAT1 && CAT2之后,我也希望根据{{1}}值执行相同操作。

感谢。

2 个答案:

答案 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}})时,管理页面中有类似内容,因为它只显示包含某些条目的字段。

谢谢!