Сколько обращений к базе данных делает 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,
}