Как я могу запросить данные из двух таблиц в Django, когда некоторые данные являются условными

#mysql #django #django-models #django-queryset #django-orm

Вопрос:

У нас есть несколько таблиц данных, «основной» из которых является Игрок с именем игрока с первичным ключом, который является внешним ключом к нескольким другим таблицам, и Имя команды с внешним ключом, которое является внешним ключом к таблице под названием Команда, причем Имя команды является этим первичным ключом. У нас есть этот запрос в SQL:

 SELECT p.TeamName, AVG(b.G) as avg_games_for_team, AVG(b.OPS)
FROM Players as p JOIN batter as b ON p.PlayerName = b.PlayerName
GROUP BY p.TeamName
ORDER BY avg_games_for_team
LIMIT 15;
 

И мы не можем перевести это на язык Django ORM. Я знаю, что вы должны дать часть кода, который вы пробовали, но мы действительно не можем ничего записать на бумаге.

Единственное, что мы можем получить, это что — то вроде Players.objects.select_related('Teams').get(TeamName).filter(...) использования этого в качестве начала. Мы также знаем, как использовать .annotate() , но не можем узнать, где и как. Спасибо!

Комментарии:

1. Можете ли вы поделиться своими моделями