class Model(object): def __str__(self): if hasattr(self, '__unicode__'): return unicode(self) else: return '%s object' % self.__class__.__name__ class Poll(Model): pass class Test1: def __init__(self, val): self.val = val def __unicode__(self): return self.val if __name__ == "__main__": p = Poll() print p print unicode(Test1('test')) print Test1('test')