Python Django自动完成字段,最好预先填充?

Python Django自动完成字段,最好预先填充?,python,django,json,serialization,jquery-ui-autocomplete,Python,Django,Json,Serialization,Jquery Ui Autocomplete,我希望将jqueryui autocomplete与django项目集成。我的解决方案的出发点是 我遇到的解决方案使用的是*\uu icontains或*\uu startswith,尽管这些搜索当然可以缓存(查看)。我想知道在一个数组中预先填充一个相对较小的术语列表(10000?)是否真的可以节省数据库点击量&这是一个更好的解决方案。例如,通过django一次性输出术语: return[str(e.keyword)for e in CM_Dict.objects.all()] 然后在一个真正基

我希望将jqueryui autocomplete与django项目集成。我的解决方案的出发点是

我遇到的解决方案使用的是
*\uu icontains
*\uu startswith
,尽管这些搜索当然可以缓存(查看)。我想知道在一个数组中预先填充一个相对较小的术语列表(10000?)是否真的可以节省数据库点击量&这是一个更好的解决方案。例如,通过django一次性输出术语:

return[str(e.keyword)for e in CM_Dict.objects.all()]

然后在一个真正基本的jquery ui自动完成配置中使用结果列表作为
source:

有没有一个很好的方法来对这样的东西进行基准测试?有人在生产中使用django+autocomplete吗


编辑:我应该补充一点,自动完成功能仅适用于登录用户,但数据对任何方面都不敏感。

这听起来像是早期的优化。它能节省DB点击量吗?也许你必须点击数据库来进行预填充,这样你的初始页面负载就会受到影响。您可以缓存预填充数据以避免数据库命中,但也可以在服务器端视图上这样做。这似乎可以更好地与现有的Django autocomplete解决方案集成


我在生产中使用了一些自动完成的解决方案。我也是其中一本的作者:。对这类更改进行基准测试需要知道每个查询的开销和使用频率。分析服务器日志的计数/加载时间将是一个开始。总的来说,如果您的自动完成ajax视图是应用程序中的瓶颈,我会感到惊讶。

这消除了您可能首先要使用ajax自动完成的原因。除非你能读懂大脑,否则预填充的数据可能需要相对较大,才能覆盖一组基本的潜在查询。即使有一半的用户点击了预填充的数据,仍有一半的用户是您花时间(和带宽)将数据传输到的,但仍然需要与服务器联系!不,这是使用jqueryui自动完成的选项,配置为使用JS数组。这些并不像谷歌或一些普通搜索那样是潜在的查询,只是该领域潜在术语的列表。