我正在研究一個django web應用程序,我正在通過使用prefetch_related
和select_related
方法來最小化單個數據庫命中的數量,我在我的User
模型中使用了某種方法,來自它的幾個不同的相關對象。prefetch_related認證用戶
def get_profile_info(self):
*fetch data from a couple of models*
然後我在我的view
中使用這種方法。
def profile(request):
profile_info = request.user.get_profile_info()
*rest of the view*
的問題是,因爲request.user
不正常的查詢方法檢索,我沒有得到使用prefetch_related
和select_related
與拉動用戶一起,我無法找到任何方式來檢索相關數據以及該用戶的模型。
有沒有辦法可以覆蓋檢索用戶模型,以便我可以運行prefetch_related
和select_related
方法?
'問題是,因爲request.user沒有被普通的查詢方法檢索到,'你能解釋一下嗎? –
通常,要檢索Django模型,可以創建如下查詢: Model.objects.get(* query *) 而對於request.user,只需在視圖中調用request.user時獲取User模型。 而'prefetch_related'和'select_related'可用於模型的.objects方法。 – YoungVenus