django: select_related () для уже существующего объекта?

Если я получаю объект с помощью django, я могу использовать .select_related () , чтобы указать django получить все объекты внешнего ключа, а именно:

obj = ModelClass.objects.select_related().get(id=4) #1 db hit
foo = obj.long.chain.of.stuff #no db hit

Если у меня уже есть obj , без .select_related () , то есть:

def doit(obj):
    obj.long.chain.of.stuff #4 db hits

есть ли способ заставить django заполнить все отношения внешних ключей? Что-то вроде:

def doit(obj):
    obj.magic() #1 db hit
    obj.long.chain.of.stuff #no db hits
7
задан Claudiu 16 November 2011 в 18:49
поделиться