我期待将jqueryui-autocomplete与django项目集成。我的解决方案的起点是https://code.djangoproject.com/wiki/AutoCompleteSolutions。Django自动填充字段,更好地预先填充?
我遇到的解决方案使用*__icontains
或*__startswith
,虽然这些搜索当然可以缓存(查看http://djangosnippets.org/snippets/233/)。我想知道如果在数组中使用相对较小的术语列表(10,000?)预填充页面实际上会节省数据库匹配&是更好的解决方案。例如,通过Django的输出方面一气呵成:
return [str(e.keyword) for e in CM_Dict.objects.all()]
,然后在一个非常基本的jQuery的UI的自动完成配置使用结果列表为source:
。
有没有一种好的方法来测试这样的东西?有没有人在生产中使用django + autocomplete?
编辑:我应该补充说,自动完成只适用于已登录的用户,但数据在任何方面都不敏感。
这首先摆脱了您可能想要使用ajax自动完成的原因。除非您可以阅读头脑,否则预填充的数据可能需要相对较大才能涵盖潜在查询的基本集合。即使有一半的用户击中了预填充的数据,仍然有另外一半的人花费了时间(和带宽)来传输数据,但仍然必须联系服务器! – 2012-01-13 02:16:30
不,这是使用jqueryui-autocomplete并配置为使用JS数组的选项。这些不是潜在的查询,如谷歌或一些通用搜索,只是该领域的潜在条款列表。 – null 2012-01-13 10:21:02