, если мой код просмотров:предел производительности от метода сортировки
arttags = sorted(arttags, key=operator.attrgetter('date_added'), reverse=True)
что аргумент, который будет ограничивать результат до 50 тегов?
Я предполагаю, что это:
.... limit=50)
неверен.
более полный код следующим образом:
videoarttags = Media.objects.order_by('date_added'),filter(topic__exact='art')
audioarttags = Audio.objects.order_by('date_added'),filter(topic__exact='art')
conarttags = Concert.objects.order_by('date_added'),filter(topic__exact='art')
arttags = list(chain(videoarttags, audioarttags, conarttags))
arttags = sorted(arttags, key=operator.attrgetter('date_added'), reverse=True)
как включить -
itertools.islice(sorted(...),50)
sorted() не является фильтром itertools - он возвращает простой список, а не итератор –
моя ошибка. в предыдущей строке кода я использую itertools для объединения кучки меток в «arttags». Я ошибочно думал, что использую фильтр сортировки itertools. – 2009-07-21 23:04:35
@kjarsenal невозможно упорядочить по потоку: вы не можете получить даже первый результат, пока не увидите все входящие (поскольку последний, который вы видите, может быть первым, чтобы уступить!), и itertools - это, конечно, только ориентированные на поток вещи. –