我希望我的模型有两个字符串表示形式:一个显示在后端日志中用于调试目的,另一个用于在HTML中表示模型时显示给最终用户的字符串表示形式。现在,我只是凌驾于__unicode__()
。有没有办法做到这一点?
答案 0 :(得分:18)
您还可以尝试__repr__
和__str__
进行日志记录/调试。您的记录器/调试器使用repr( object )
来记录您的对象是可能的(至少应该是这种方式)。
答案 1 :(得分:7)
使用属性
class SomeThing( models.Model ):
foo=
bar=
baz=
def __unicode__( self ):
return "{0} {1}".format( self.foo, self.bar )
@property
def details( self ):
return repr( dict( foo=self.foo, bar=self.bar, baz=self.baz ) )
现在您可以记录someObject.details