Django:模型的字符串表示

时间:2011-02-03 21:40:06

标签: python django

我希望我的模型有两个字符串表示形式:一个显示在后端日志中用于调试目的,另一个用于在HTML中表示模型时显示给最终用户的字符串表示形式。现在,我只是凌驾于__unicode__()。有没有办法做到这一点?

2 个答案:

答案 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