Adding __repr__ methods to the queryset and BaseDocument to make it easier to see the results in the console
This commit is contained in:
parent
42a58dda57
commit
3b37bf4794
@ -270,6 +270,18 @@ class BaseDocument(object):
|
|||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._data)
|
return len(self._data)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
try:
|
||||||
|
u = unicode(self)
|
||||||
|
except (UnicodeEncodeError, UnicodeDecodeError):
|
||||||
|
u = '[Bad Unicode data]'
|
||||||
|
return u'<%s: %s>' % (self.__class__.__name__, u)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
if hasattr(self, '__unicode__'):
|
||||||
|
return unicode(self).encode('utf-8')
|
||||||
|
return '%s object' % self.__class__.__name__
|
||||||
|
|
||||||
def to_mongo(self):
|
def to_mongo(self):
|
||||||
"""Return data dictionary ready for use with MongoDB.
|
"""Return data dictionary ready for use with MongoDB.
|
||||||
"""
|
"""
|
||||||
|
@ -5,6 +5,9 @@ import pymongo
|
|||||||
|
|
||||||
__all__ = ['queryset_manager', 'InvalidQueryError', 'InvalidCollectionError']
|
__all__ = ['queryset_manager', 'InvalidQueryError', 'InvalidCollectionError']
|
||||||
|
|
||||||
|
# The maximum number of items to display in a QuerySet.__repr__
|
||||||
|
REPR_OUTPUT_SIZE = 20
|
||||||
|
|
||||||
|
|
||||||
class InvalidQueryError(Exception):
|
class InvalidQueryError(Exception):
|
||||||
pass
|
pass
|
||||||
@ -424,6 +427,11 @@ class QuerySet(object):
|
|||||||
"""
|
"""
|
||||||
return self.exec_js(freq_func, list_field, normalize=normalize)
|
return self.exec_js(freq_func, list_field, normalize=normalize)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
data = list(self[:REPR_OUTPUT_SIZE + 1])
|
||||||
|
if len(data) > REPR_OUTPUT_SIZE:
|
||||||
|
data[-1] = "...(remaining elements truncated)..."
|
||||||
|
return repr(data)
|
||||||
|
|
||||||
class InvalidCollectionError(Exception):
|
class InvalidCollectionError(Exception):
|
||||||
pass
|
pass
|
||||||
|
Loading…
x
Reference in New Issue
Block a user