开发者

Override "remaining elements truncated" in Python

I'm using the Python shell in Django to make some queries. The results keep getting truncated. I get the message, "开发者_StackOverflow中文版remaining elements truncated." How can I see all the results? Or, how can I write the results to a file?


Querysets do this automatically when you just output them in the shell - which implictly calls repr on them. If you call list on the queryset instead, that will output everything:

list(MyModel.objects.all())

Note that you don't need to do this within your code, this is just for output within the shell. Obviously, beware of doing this on a model with a very large number of entries.


The top answer returns an error for me in 2020:

Error in argument: '(MyModel.objects.all())'

What works for me is just iterating over the Queryset as a list comprehension:

[i for i in MyModel.objects.all()]


Say your query is:

>>> Foo.objects.all()

Instead try:

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

Or to dump them to a file:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜