Пользовательское представление внешнего ключа в Django
Если у меня есть две модели
class Parent(models.Model):
attribute_1 = ....
attribute_2 = ....
class Child(models.Model):
parent = models.ForeignKey(Parent)
Django по умолчанию будет делать ленивую выборку для родителя, поскольку он будет обращаться к базе данных, когда я попытаюсь получить доступ к атрибуту_1 или атрибуту_2, так как я могу заставить его получать их по умолчанию для этого конкретного случая использования
Используйте select_related при получении дочернего объекта(ов), чтобы также получить данные для внешнего ключа в одном запросе
child = Child.objects.select_related('parent').get(id=1)
print(child.parent.attribute_1) # No additional query
print(child.parent.attribute_2) # No additional query