Как сделать внутренний оператор объединения в django?

Немного запутался в том, как делать join'ы в Django.

Например, у меня есть следующие 3 таблицы:

battlefield_weakresistimmune;
 id | weakResistanceImmune | multiplier | pokemon_id | typing_id
----+----------------------+------------+------------+-----------

battlefield_basepokemontest;
 id |     name      | base_hp | base_atk | base_def | base_spatk | base_spdef | base_speed |  ability1  | ability2  | hidden_ability | pokemon_id | type1_id | type2_id | type3_id
----+---------------+---------+----------+----------+------------+------------+------------+------------+-----------+----------------+------------+----------+----------+----------
  1 | Bulbasaur     |      45 |       49 |       49 |         65 |         65 |         45 | Overgrowth | n/a       | Chlorophyll    |          1 |       12 |        4 |
  2 | Ivysaur       |      60 |       62 |       63 |         80 |         80 |         60 | Overgrowth | n/a       | Chlorophyll    |          2 |       12 |        4 |


battlefield_pokemontypestest;
 id |   name
----+----------
  1 | Normal
  2 | Fighting
  3 | Flying
  4 | Poison

Я хочу получить имя покемона из basepokemontest, условие и множитель из weakresistimmune и название типа из pokemontypestest.

Я могу легко сделать это в SQL через:

SELECT poke.name, con.weak_resist_immune, type.name, con.multiplier FROM battlefield_basepokemontest poke INNER JOIN battlefield_weakresistimmune con ON poke.id = con.pokemon_id INNER JOIN battlefield_pokemontypestest type ON type.id = con.typing_id;
   name    | weak_resist_immune |  name  | multiplier
-----------+--------------------+--------+------------
 Bulbasaur | Weak               | Flying |       2.00

Я прочитал некоторые документы и попытался создать цепочку фильтров, но, похоже, ничего не получается.

Является ли цепочка фильтров правильным методом для создания объединения в django или я что-то упустил?

Вернуться на верх