Python 为Django应用程序的搜索引擎提供建议
我有一个带有搜索页面的应用程序。用户将能够在多个表中进行搜索。然而,我担心这会给服务器带来巨大的成本Python 为Django应用程序的搜索引擎提供建议,python,django,Python,Django,我有一个带有搜索页面的应用程序。用户将能够在多个表中进行搜索。然而,我担心这会给服务器带来巨大的成本 ads_list = advertisements.filter(Q(title__icontains=words) | Q(street_name__icontains=words) | Q(city__in=city.filter(Q(name__icontains=words) | Q(rel
ads_list = advertisements.filter(Q(title__icontains=words) | Q(street_name__icontains=words) |
Q(city__in=city.filter(Q(name__icontains=words) | Q(related_names__icontains=words) | Q(post_code=words) | Q(region__icontains=words))) |
Q(state_category__in=state_category.filter(Q(category_name__icontains=words) | Q(search_tags__icontains=words))) |
Q(advertisement_type__in=advertisement_type.filter(Q(type_name__icontains=words) | Q(search_tags__icontains=words))))
在搜索页面中,我使用digg\u paginator
传播结果
我的问题是:这些结果是由Django缓存的,还是每次用户点击“下一页”按钮时都会进行新的查询?
我想知道我是否应该实施并尝试自己处理它,但我不知道Django是否已经做得比我更好了。
我还将尝试每页提供更多更好的结果,这样用户就不会经常更改页面。
这些结果是由Django缓存的还是每次用户点击“下一页”按钮时都会进行新的查询?
这取决于按钮按下的方式。如果您的按钮按下调用了Django视图,并且您依赖于Django的paginator,那么Django将在每次按下按钮时查询您的数据库
如果要减少对数据库的查询,我可以想到两种方法:
cache\u页面
decorator。请在此处阅读更多信息:缓存解决方案看起来很有趣。我会调查的。谢谢