Django:模型的字符串表示

Nic*_*ner 11 python django

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

Ski*_*Ski 20

您也可以尝试__repr__,并__str__为您的日志/调试.您的记录器/调试器用于repr( object )记录对象的可能性(至少应该是这种方式).


S.L*_*ott 8

使用属性

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 ) )
Run Code Online (Sandbox Code Playgroud)

现在你可以登录了 someObject.details