У меня есть класс модели с полями level
и name
(это касается уровней подкатегорий).
Я хочу отобразить имя каждой строки с соответствующим количеством отступов тире в раскрывающемся списке выбора впанель администратора.
Когда я использую:
def __str__(self):
return self.name.rjust((self.level-1) * 4, '-')
в модели Django, она не работает и продолжает показывать мне имя без черточек.
ЕслиЯ использую тот же код в чистом скрипте Python, он работает.Отладка показала, что self.level
имеет правильное значение в функции __str__()
Django.
Почему это не работает в Django?
Обновление: я исправил это с очевидным:
def __str__(self):
indent = '-' * (self.level-1) * 4
return indent + self.name
Однако вопрос, почему он не работает в Django, все еще остается открытым.