J'ai une requête dans SQLite qui regroupe les champs par semaines et effectue somme et moyenne sur la distance et temps champs dans la même table:Convertir SQLite à Django ORM
select
strftime('%W', datetime) WeekNumber,
sum(distance) as TotalDistance,
sum(distance)/sum(time) as AverageSpeed
from sample_login_run
group by WeekNumber;
J'essaie de convertir cette requête à Django ORM et évitez d'utiliser la fonction Raw
. Je comprends que je devrais utiliser extra
dans Django ORM. Cela ne devrait pas être un problème cependant. Je suis arrivé ceci:
Run.objects.extra(select={'week': "strftime('%%W', datetime)"}).values(
'week','distance').annotate(
total_distance=Sum('distance'), average_time=F('distance')/F('time'))
Mais est GROUPEMENT également les données par average_time
et average_distance
champ. Toute aide sera vraiment appréciée. Je vous remercie.