1 import sqlalchemy.orm.util as util
9 v = getattr(self, field, None)
11 return self._default.get(field)
14 def _formatField(self, field):
16 func = self._format.get(field)
21 if not hasattr(v, '__iter__'):
25 return '[%d x %s]'%(len(v), type(v[0]).__name__)
29 return [cls._identity_field]
32 ignore = self._ignore()
33 keys = sorted(util.class_mapper(type(self)).mapped_table.c.keys())
34 return [(k,self._formatField(k)) for k in keys if k not in ignore]
37 classname = self.__class__.__name__
39 if self._identity_field:
40 identity = self.__dict__.get(self._identity_field)
41 identity = ' ' + (identity and repr(identity) or 'hash=%X'%hash(self))
45 payload = " ".join(["%s=%s" % (k, v) for k,v in self._fields()])
47 payload = ": "+payload
49 return "<%s%s%s>" % (classname, identity, payload)