Django-避免在动态导航栏中进行重复查询的最佳方法是什么?

时间:2019-12-05 18:15:05

标签: python django

我目前正在开发一个有两个应用程序的项目。当用户登录系统时,导航栏将根据用户在数据库中的权限显示链接。

如果用户仅具有应用程序1的权限,则其显示的链接将仅与此应用程序相对应,如果仅具有应用程序2的权限则相同。如果用户同时拥有两个导航栏的权限,则导航栏将显示两个应用程序的所有链接。

要保持动态,导航栏必须对数据库进行查询。所以我想避免每次加载页面时进行查询。

我认为视图中的一个选项是第一次进行查询,然后将其与request.session存储在一起:

Try:  #If the query has already been made, it accesses the saved value
  query = request.session['navbar']
Except: # If the query has not been made, makes it and saves it in request.session['navbar'] 
  request.session['navbar'] = #QUERYCODE

这是处理问题的好方法吗?还有另一种更好的方法吗?

0 个答案:

没有答案