Python rjust()在uuu str_uuuuu()中不工作

Python rjust()在uuu str_uuuuu()中不工作,python,django,python-3.x,django-models,Python,Django,Python 3.x,Django Models,我有一个带有级别和名称字段的模型类(关于子类别级别) 我想在“管理”面板的“选择”下拉列表中显示每行的名称以及相应数量的虚线缩进 当我使用: def __str__(self): return self.name.rjust((self.level-1) * 4, '-') 在Django模型中,它不起作用,一直显示没有破折号的名称 如果我在纯Python脚本中使用相同的代码,它确实可以工作。调试表明,self.level在\uu str\uuu()Django函数中具有正确的值 为什

我有一个带有
级别
名称
字段的模型类(关于子类别级别)

我想在“管理”面板的“选择”下拉列表中显示每行的名称以及相应数量的虚线缩进

当我使用:

def __str__(self):
    return self.name.rjust((self.level-1) * 4, '-')
在Django模型中,它不起作用,一直显示没有破折号的名称

如果我在纯Python脚本中使用相同的代码,它确实可以工作。调试表明,
self.level
\uu str\uuu()
Django函数中具有正确的值

为什么它在Django不起作用

更新:我用明显的:

def __str__(self):
    indent = '-' * (self.level-1) * 4
    return indent + self.name

然而,为什么它在Django中不起作用的问题仍然悬而未决。

您的两个示例并不相同
rjust
不插入指定的填充字符数,而是插入填充该总长度所需的数字。如果
self.name
足够长,它将原封不动地返回

您的两个示例不一样
rjust
不插入指定的填充字符数,而是插入填充该总长度所需的数字。如果
self.nane
足够长,它将原封不动地返回。@RobinZigmond愚弄我。当然,它是
self.name.rjust((self.level-1)*4+len(self.name),'-')
。请回答这个问题,我会接受你的回答。谢谢。不客气,我已经这么做了。谢谢:)