Если я получаю объект с помощью 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