देखें इस । आपका कोड कुछ इस तरह होगा:
from django.db.models import Max
Argument.objects.aggregate(Max('rating'))
आप मौजूदा क्वेरी पर भी इसका उपयोग कर सकते हैं:
from django.db.models import Max
args = Argument.objects.filter(name='foo')
args.aggregate(Max('rating'))
यदि आपको उस मॉडल उदाहरण की आवश्यकता है जिसमें यह अधिकतम मान है, तो आपके द्वारा पोस्ट किया गया कोड संभवतः इसे करने का सबसे अच्छा तरीका है:
arg = args.order_by('-rating')[0]
ध्यान दें कि यदि क्वेरी खाली है, तो यह त्रुटि करेगा, अर्थात यदि कोई तर्क क्वेरी से मेल नहीं खाता (क्योंकि [0]
भाग बढ़ाएगा IndexError
)। यदि आप उस व्यवहार से बचना चाहते हैं और इसके बजाय बस None
उस स्थिति में वापस आते हैं , तो उपयोग करें .first()
:
arg = args.order_by('-rating').first()