@beginer0

Как в функции __str__ модели в Django делать return в виде списка?

Есть модель Test с полями "name, first_name, last_name", знаю что есть функция "def __str__(self):
return self.name " которое в shell возвращает значение поля "name". как сделать так чтобы он возвращал список со значениями всех полей модели Test?
  • Вопрос задан
  • 3968 просмотров
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
С помощью __str__ возвращать список - плохая идея, но строку с сериализованным списком - почему нет?
Я обычно как-то так делаю:
def __repr__(self):
    return f'{type(self).__name__}({self.name!r}, {self.first_name!r}, {self.last_name!r})'

Если __str__ не описан отдельно, то будет вызываться __repr__ при вызове str(obj).
Можно и в виде списка как вы хотите:
def __str__(self):
    return f'{[self.name, self.first_name, self.last_name]!r}'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы