__str__ задаёт строковое представление объекта модели. Django использует его, например, в админ-панели, Django shell и при выводе объекта через print().
__str__ задаёт строковое представление объекта модели. Django использует его, например, в админ-панели, Django shell и при выводе объекта через print().
Зачем нужен __str__
__str__ — специальный метод Python, который должен возвращать строку. В Django его обычно добавляют в модель, чтобы объекты отображались понятным названием, а не технической записью вроде Article object (1).
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.titleГде это видно
в Django admin;
в Django shell;
при вызове print(article);
в отладочных сообщениях и логах.
Что возвращать
Метод должен вернуть строку. Обычно это поле, по которому объект легко узнать: заголовок статьи, имя пользователя, название товара или комбинация нескольких полей.
Как ответить на собеседовании
__str__ задаёт читаемое строковое представление экземпляра модели. Я добавляю его, чтобы объекты понятно отображались в админке и консоли, например по названию или имени.
Оцени свой прогресс