Я использую Django Admin для доступа к данным некоторых проектов.Чтобы иметь возможность иметь правильное представление, у меня есть некоторый класс:
class Whatever(models.Model):
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.CASCADE)
date = models.DateTimeField(blank=False, null=False, default=datetime.utcnow)
view = models.CharField(max_length=256, blank=False, null=False)
К которому я добавил метод __str__
с определенным форматированием, которое содержит {:X}
отступ для установкиX символов в поле:
def __str__(self):
username = self.user.username if self.user else ""
return "{:25} - {:30} - {:32}".format(self.user., self.view, self.date)
Однако в администраторе Django все отступы игнорируются, поэтому все, что я получил, это набор строк в формате:
bla - my_view - 2019-05-14 17:18:57.792216+00:00
another_user - another_view - 2019-05-14 16:05:27.644441+00:00
Без каких-либо дополнений, хотя я хотел бы что-то вроде:
bla - my_view - 2019-05-14 17:18:57.792216+00:00
another_user - another_view - 2019-05-14 16:05:27.644441+00:00
В обычном Python, если я делаю:
class M(object):
def __init__(self):
self.a = "hola"
self.b = "adeu"
def __str__(self):
return "{:25} - {:30}.".format(self.a, self.b)
Хорошо работает:
>>> print(m)
hola - adeu .
Я в Python 3.6.8 и Django 2.1.5.