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),'-')
。请回答这个问题,我会接受你的回答。谢谢。不客气,我已经这么做了。谢谢:)