Bunu gör . Kodunuz aşağıdaki gibi olacaktır:
from django.db.models import Max
Argument.objects.aggregate(Max('rating'))
Bunu mevcut sorgu kümelerinde de kullanabilirsiniz:
from django.db.models import Max
args = Argument.objects.filter(name='foo')
args.aggregate(Max('rating'))
Bu maksimum değeri içeren model örneğine ihtiyacınız varsa, gönderdiğiniz kod muhtemelen bunu yapmanın en iyi yoludur:
arg = args.order_by('-rating')[0]
Sorgu kümesi boşsa, yani sorguyla eşleşen hiçbir argüman yoksa (çünkü [0]
parça bir yükseltecektir IndexError
) bunun hata vereceğini unutmayın . Bu davranıştan kaçınmak ve bunun yerine basitçe None
bu durumda geri dönmek istiyorsanız , şunu kullanın .first()
:
arg = args.order_by('-rating').first()