2017-03-16 31 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