2017-03-16 41 views
0

根據Django documentation如果嘗試在原始查詢集中達到某個字段,它會實時獲取它。將Django RawQuerySet設置爲不推遲屬性

我該如何阻止它獲取未從數據庫中檢索的字段?

例如如果我寫select name from authors

和更高版本用戶將寫入author.gender它將返回None並不嘗試從數據庫中檢索它?

+0

你爲什麼想這種行爲?你想達到什麼目的? – Alasdair

+0

它是按組查詢。 – Dejell

回答

0

你可以嘗試獲取null對於您不希望被檢索的任何領域,例如:

Person.objects.raw('SELECT id, name, null AS gender from authors') 
+0

咋工作,但在這一點上,我知道我應該只使用直接的SQL查詢,而不是Django的原始對象。我曾經與HIibernate一起工作,並且延遲加載的選項是不可能的 – Dejell