【发布时间】:2018-05-29 17:27:36
【问题描述】:
我已经完成了网站的构建,有很多视图包含很多查询 我的问题是如何避免重复用户多次访问的视图中的某些查询?。
这里是views.py的例子
@access_to(['is_admin','is_job_seeker'])
def negotiationView(request,slug,id,code):
obj = get_object_or_404(Group,slug=slug)
nego = get_object_or_404(Negotiation,id=id,code=code)
related_negos = Negotiation.objects.filter(tag=nego.tag)
# New tag can be created every 2 months or more
all_jobs = obj.job_offers.filter(published=True) # new job can be added every week
您可以,每次我访问该页面时,都会重复相同的查询..
任何提示都会有所帮助,提前谢谢!
【问题讨论】:
-
您通常不能,因为通常认为网络服务器(数据库除外)是无状态的。你可以做一些缓存,例如
django-cachalot。 -
感谢@WillemVanOnsem 的快速回复,
Django-cachalot有没有办法告诉它在多少天或几个月后重新加载真实内容而不是缓存。 django 不提供一个,而不是任何第三方包?
标签: django performance django-views django-queryset