#django #string #methods
#django #строка #методы
Вопрос:
Я пишу приложение django. Мне любопытно, есть ли лучший способ написания «магического метода» python __str__()
, который возвращает строковое представление любого объекта. В настоящее время, следуя документам Django, я нахожу, что вы можете сделать следующее…
class Todo(models.Model):
firstName = models.CharField(max_length=30)
secondName = models.CharField(max_length=30)
def __str__(self):
"%s %s" % (self.firstName, self.secondName)
Отлично, но если у меня 8 или даже больше полей, то это становится немного раздражающим. Сначала я подсчитываю, сколько полей я хочу, и обязательно выписываю %s
столько раз, чтобы затем выписать self.
столько же раз, и это действительно отстой.
Я надеялся, если кто-нибудь знает о более простых способах записи этого, и если есть какие-либо различия. Я не смог найти другой метод в Интернете, поэтому был бы признателен за помощь.
Ответ №1:
Если вы используете Python >= 3.6, то вы можете использовать f-строки.
def __str__(self):
return f"{self.firstName} {self.secondName}"
Комментарии:
1. Спасибо, я вижу, что f строк выполняются быстро, и я использую Python > = 3.6, поэтому я начну использовать это вместо %