Quindi ho un'applicazione Django che elabora i risultati dei test e sto cercando di trovare il punteggio medio per una determinata valutazione. Penserei che questo funzionerebbe:Django Query Filtro set + order_by + limit
e = Exam.objects.all()
total = e.count()
median = int(round(total/2))
median_exam = Exam.objects.filter(assessment=assessment.id).order_by('score')[median:1]
median_score = median_exam.score
Ma restituisce sempre una lista vuota. Posso ottenere il risultato che voglio con questo:
e = Exam.objects.all()
total = e.count()
median = int(round(total/2))
exams = Exam.objects.filter(assessment=assessment.id).order_by('score')
median_score = median_exam[median].score
Vorrei solo preferirei non dover interrogare l'intero set di esami. Ho pensato di scrivere solo una query MySQL grezzo che sembra qualcosa di simile:
SELECT score FROM assess_exam WHERE assessment_id = 5 ORDER BY score LIMIT 690,1
Ma, se possibile, mi piacerebbe rimanere all'interno ORM di Django. Per lo più mi preoccupa solo che non riesco a usare order_by con un filtro e un limite. Qualche idea?
Grazie, stavo ottenendo la sintassi della sezione mista con la sintassi del limite MySQL – bjudson