У меня есть курсор объектов, которые я пытаюсь Paginate.Всего я хочу 25 элементов, но, как работает Pagination с Django, для этого требуется курсор whole .В частном тестировании, предположительно, из-за того, что в моей домашней коробке больше оперативной памяти и тому подобное, у меня нет этих проблем.Однако при загрузке на рабочий компьютер, который имеет только 2 ГБ памяти, я получаю MemoryError, предположительно, потому что курсор слишком большой.
Я могу использовать .limit (25) и .skip (), чтобы получать только 25 объектов одновременно, однако для работы разбивки на страницы мне нужно общее количество объектов.К сожалению, .count (), кажется, требует получения полных данных курсора .В идеале, я могу сделать это, если смогу каким-то образом получить размер подстановки и только 25 реальных объектов из курсора.
Так что я полагаю, вопрос в том, есть ли способ получить размер курсора, которыйне через .count () (который получает данные всего курсора).
lookup = players.find({field: {'$exists': True}}).sort(field, DESCENDING)
//This returns a MemoryError
lookup = players.find({field: {'$exists': True}}).limit(25).skip(25).sort(field, DESCENDING)
//This does NOT return a Memory Error. However, when I do the following:
lookup.count()
//This also has a MemoryError.
Для пояснения я использую Django 1.5.11 и pymongo 3.2.1.