메신저 결과를 캐싱하고 오는 쿼리에서 사용하여 관리자로부터 dbase 쿼리를 최적화하려고합니다. 하지만 - 난 여전히 각 항목에 대한 dbase 요청을 참조하십시오.쿼리 캐쉬를 사용하여 django 관리자를 최적화하는 방법
내가이 같은 모델이 다음과 같이
user action company_name
그래서 난 내 관리자 정의 : 관리자 change_list에서
class actions(models.Model):
user = models.ForeignKey(MyUser)
action = ...
class Myuser(Models.Model):
name = models.CharField()
company = models.ForeignKey(Companies)
을, 내가있는 테이블을보고 싶어요
class ActionsAdmin(admin.ModelAdmin):
list_display = ('user','action','company_name')
...
def company_name(self,instance):
return instance.user.company
나는 이것을 실행할 때 각 사용자마다 회사 이름을 추출하는 쿼리가 회사 모델에 있음을 알 수 있습니다. 그러나 많은 회사가 없기 때문에 많은 경우 사용자가 여러 번 많은 작업을 수행합니다. 모든 회사에 대해 한 번 쿼리 한 다음 각 항목에 대해 dbase에 액세스하는 대신 캐시 된 결과를 사용하려고합니다.
어떻게 할 수 있습니까?