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()
精彩评论