Я пытаюсь создать панель мониторинга, и мне нужно использовать django ORM вместо необработанных запросов, но я не могу найти правильный эквивалент для этого запроса SQL:
SELECT * FROM (
SELECT persons.name,
SUM(CASE WHEN work_hours.work_type='A' THEN work_hours.count ELSE 0 END) as additional_hours ,
SUM(CASE WHEN work_hours.work_type='D' THEN work_hours.count ELSE 0 END) as duty_hours,
CASE WHEN SUM(CASE WHEN work_hours.stat_type='D' THEN work_hours.count ELSE 0 END) > 0 THEN
1.0*SUM(CASE WHEN work_hours.work_type='A' THEN work_hours.count ELSE 0 END)/
SUM(CASE WHEN work_hours.work_type='D' THEN work_hours.count ELSE 0 END)
ELSE -1 END as over_rate
FROM daily_work_hours as work_hours
inner join personnel as persons
on work_hours.person_id = persons.id
GROUP BY persons.name
order by over_rate desc) stats
WHERE duty_hours>100;
Кто-нибудь может мне помочь с этим?