Я не уверен на 100%, понял ли я то, что вы имеете в виду, но, возможно, это поможет:
from django.db.models import Min
Person.objects.annotate(min_running_time=Min('time'))
Набор запросов будет извлекать объекты Person с min_running_time
дополнительным атрибутом.
Вы также можете добавить фильтр:
Person.objects.annotate(min_running_time=Min('time')).filter(firstName__startswith='foo')
Доступ к атрибуту min_running_time
первого объекта:
first_person = Person.objects.annotate(min_running_score=Min('time'))[0]
print first_person.min_running_time
РЕДАКТИРОВАНИЕ:
Вы можетеОпределите метод или свойство, например, следующее, чтобы получить связанный объект:
class Person(models.Model):
...
@property
def best_runner(self):
try:
return self.runningscore_set.order_by('time')[0]
except IndexError:
return None