Сколько обращений к базе данных делает Django при использовании отношений по внешним ключам?

У меня есть модель "Model_A" с полем внешнего ключа "fk" к модели "Model_B". При сериализации модели "Model_A" я пытаюсь получить 2 поля из модели "Model_B", но хочу сделать 1 вызов базы данных.

class Model_B(models.Model):
    f1 = models.Charfield()
    f2 = models.Charfield()
    f3 = models.Charfield()

class Model_A(models.Model):
    fk = models.Foreignkey(Model_B, on_delete=models.CASCADE)

Следующий код делает 1 или 2 вызова базы данных?

ma = Model_A.objects.get(pk=1)
return {
    'f1': ma.fk.f1,
    'f2': ma.fk.f2,
}

Или следующее имело бы больший смысл?

mb = Model_A.objects.get(pk=1).fk
return {
    'f1': mb.f1,
    'f2': mb.f2,
}
Вернуться на верх