Строковое представление модели Django
Я знаю, что строковое представление объекта модели может быть достигнуто путем добавления
class Company(models.Model):
name = models.CharField()
email = models.EmailField(unique=True)
def __str__(self):
return self.name
Но это представление объекта компании, а не самого класса модели. То есть, если я создам объект
obj = Company(name='string_repr', email='example@example.com')
print(obj)
приведет к 'string_repr'
, что вполне ожидаемо, поскольку я получаю строковое представление объекта, а не класса/модели. Однако я заметил, что во время валидации формы CreateView
в случае, если уже существует объект модели с таким же email, Django возвращает сообщение об ошибке, что уже существует Company с таким email (картинка не на английском, но подчеркнутый раздел - единственная релевантная часть).
Я предполагаю, что сообщение об ошибке принимает имя класса и вводит его в сообщение, но есть ли способ изменить строковое представление имени модели (класса)? Оно необходимо для целей перевода. Думаю, я могу просто переименовать имена классов на местный язык, но это кажется неправильным.