Заменить "оставшиеся элементы усечены" в Python

Я использую оболочку Python в Django для создания некоторых запросов. Результаты продолжают усекаться. Я получаю сообщение, "оставшиеся элементы усечены". Как я могу увидеть все результаты? Или, как я могу записать результаты в файл?

Ответы

Ответ 1

Querysets делают это автоматически, когда вы просто выводите их в оболочке, что вызывает на них вызов repr. Если вместо этого вы вызовете list в запросе, это будет выводить все:

list(MyModel.objects.all())

Обратите внимание, что вам не нужно делать это в своем коде, это просто для вывода внутри оболочки. Очевидно, остерегайтесь делать это на модели с очень большим количеством записей.

Ответ 2

Скажите, что ваш запрос:

>>> Foo.objects.all()

Вместо этого попробуйте:

>>> for x in Foo.objects.all(): print x

Или отправить их в файл:

>>> f = open('your_filename','w')
>>> for x in Foo.objects.all(): f.write(u'%s\n' % x)
>>> f.close()