1
假設我有這個模型中的所有對象中最大的一個領域的功能:Django的註釋返回具有功能
class Student(models.Model):
class_name = models.CharField()
mark = models.IntegerField()
,我想所有的,在具有最高mark
學生自己類。在this post中提到的所有課程中,我可以獲得最高mark
的學生。但我想所有具有最高mark
他們班的同學,是這樣的:
Student.objects.annotate(
highest_mark_in_class=Max(
Students.objects.filter(class_name=F('class_name'))
.filter(mark=highest_mark_in_class)
)
)
我可以用for
循環做到這一點,但有一個大型數據庫for
循環是相當緩慢的。我不知道是否可以在一行中編寫這樣的查詢?