Переопределить «урезанные элементы» в Python - PullRequest
18 голосов
/ 14 июля 2010

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

Ответы [ 2 ]

46 голосов
/ 14 июля 2010

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

list(MyModel.objects.all())

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

1 голос
/ 14 июля 2010

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

>>> 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() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...