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

2024-10-02 20:31:59 发布

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

我希望将jqueryuiautocomplete与django项目集成。我的解决方案的出发点是https://code.djangoproject.com/wiki/AutoCompleteSolutions。在

我遇到的解决方案使用*__icontains或{},尽管这些搜索当然可以被缓存(看看http://djangosnippets.org/snippets/233/)。我想知道是否在页面中预先填充一个相对较小的术语列表(10000?)在数组中实际上可以节省数据库命中,这是一个更好的解决方案。例如,通过django一次性输出术语:

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

然后在非常基本的jqueryui自动完成配置中使用结果列表作为source:。在

有没有一个很好的方法来衡量这样的东西?有人在生产中使用django+autocomplete吗?在

编辑:我应该补充的是,自动完成功能只针对已登录的用户,但数据并不敏感。在


Tags: 项目djangohttpscomhttp列表wikicode
1条回答
网友
1楼 · 发布于 2024-10-02 20:31:59

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

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

相关问题 更多 >