4
即時通過緩存結果並在未來查詢中使用,試圖優化管理員的dbase查詢。但是 - 我仍然看到每個條目的dbase請求。如何使用queryset高速緩存優化django Admin
我有這樣一個模型:在管理change_list
class actions(models.Model):
user = models.ForeignKey(MyUser)
action = ...
class Myuser(Models.Model):
name = models.CharField()
company = models.ForeignKey(Companies)
,我想看到一個表:
user action company_name
,所以我定義我的管理如下:
class ActionsAdmin(admin.ModelAdmin):
list_display = ('user','action','company_name')
...
def company_name(self,instance):
return instance.user.company
當我運行這個,我看到,爲每個用戶,有一個查詢公司模型提取公司的名稱。但是,由於公司數量不多,並且在很多情況下用戶先後執行了許多操作,我想查詢所有公司一次,然後使用緩存的結果,而不是每個條目訪問dbase。
我該怎麼做?