Объединение таблиц и извлечение столбцов в Django

У меня есть две таблицы (с соответствующими моделями):

Mapping
id  parent_id  child_id  child_qty
1   1          1         5
2   1          2         3
3   1          4         4
4   2          1         3
5   2          3         2

Child
id  name   property
1   name1  prop1
2   name2  prop2
3   name3  prop3
4   name4  prop4

Note: in Mapping model, 'child' is defined as a ForeignKey on Child model, that automatically creates 'child_id' in Mapping table.

Я хочу написать джоинт:

SELECT mt.child_id, mt.child_qty, ct.name, ct.property
FROM mapping mt, child ct
WHERE mt.parent_id = 1;

, что дает результат:

child_id  child_qty  name   property
1         5          name1  prop1
2         3          name2  prop2
4         4          name4  prop4

Я написал вот это:

my_qs = Mapping.objects.select_related('child').filter(parent_id=1).values()
print(my_qs)
# [{'id':1, 'parent_id': 1, 'child_id': 1, 'child_qty': 5},
#  {'id':2, 'parent_id': 1, 'child_id': 2, 'child_qty': 3},
#  {'id':3, 'parent_id': 1, 'child_id': 4, 'child_qty': 4}]

Что нужно изменить в запросе ORM, чтобы:

  1. Я не вижу 'id' и 'parent_id' в выводе
  2. .
  3. Я вижу 'ct.name и ct.property' в выводе (с префиксом 'ct.' и без него)

попробуйте это

 my_qs = Mapping.objects.filter(parent_id=1).values('child_id', 'child_qty', 'child__name', 'child__property')

print(my_qs)
Вернуться на верх