Это пример определения модели:
class Glass(model):
type = models.CharField(max_length=255)
class Window(model):
glass = models.ForeignKey(Glass)
class House(model)
window = models.ForeignKey(Window)
Dotwalking внешних ключей упомянутых моделей и получение связанных объектов.
house = House.objects.get(pk=1)
window = house.window
glass= house.window.glass
Я понимаю, что для получения house
запрос выполняется. Затем, когда я получаю house.window
, я предполагаю, что выполняется второй запрос для получения экземпляра окна. И при доступе к glass
Django уже загружен window
в экземпляре House
? Или он снова запрашивает окно?
Кажется, я не могу найти точный ответ на этот вопрос в Интернете или в Django документах.
Ответ был бы большим, чтобы углубить мое понимание Django Запрос ORM.
Ура!