Django извлекает поле с помощью JOIN
в SQL, эффективно объединяя строки двух таблиц, где b_id соответствует B.id.
Допустим, у вас есть следующие таблицы:
# Table B
| id | bAtt |
----------------
| 1 | oh, hi! |
| 2 | hello |
# Table A
| id | b_id |
-------------
| 3 | 1 |
| 4 | 2 |
Тогда объединение на B.id = b_id
создаст следующие кортежи:
| B.id | B.bAtt | A.id |
------------------------
| 1 | oh, hi! | 3 |
| 2 | hello | 4 |
Django делает это независимо от того, с какой стороны вы вводите отношение, и, следовательно, одинаково эффективно :) То, как база данных на самом деле выполняет соединение, зависит от реализации базы данных, но так или иначе она должна проходить через каждый элемент в каждую таблицу и сравните атрибуты объединения.