对象的表示

时间:2017-09-19 19:31:25

标签: python django class

有时我们必须用它的属性来表示我们的类对象。大多数情况下我们使用

ref.removeAllObservers()

表示通常返回字符的字符串表示。 但我有一个没有属性的类有字符。我想用唯一属性DecimalField来表示它。请帮助我获得正确的语法来表示我的对象。

2 个答案:

答案 0 :(得分:2)

__str__应始终返回一个字符串。你可以做的是:

def __str__(self):
    return 'Average: {}'.format(self.average)

答案 1 :(得分:0)

您可以将DecimalField的值转换为string

def __str__(self):
    return str(self.average)

或者,如果您有更复杂的值,则可以使用方法to_eng_string

def __str__(self):
    return self.average.to_eng_string

documentation说:

  

如果是指数,则使用工程符号转换为字符串   需要的。

     

工程符号的指数是3的倍数   可以在小数点左边留下最多3位数字   需要添加一个或两个尾随零。

     

例如,这会将十进制('123E + 1')转换为十进制('1.23E + 3')。