У объекта типа ...... нет атрибута 'replace'.

Я использую приложение Django 4.2

вот моя модель:

from django.db import models

from django.utils.translation import gettext_lazy as _

class Category(models.Model):
    parent = models.ForeignKey('self', verbose_name=_('parent'), blank=True, null = True, on_delete=models.CASCADE)
    title = models.CharField(_('title'), max_length = 50)
    description = models.TextField(_('description'), blank=True)
    avatar = models.ImageField(_('avatar'), upload_to='categories/')
    enable = models.BooleanField(_('enable'), default = True)
    created_time = models.DateTimeField(_('created time'), auto_now_add = True)
    updated_time = models.DateTimeField(_('updated time'), auto_now=True)

    class Meta:
        db_table = 'categories'
        verbose_name = _('Category')
        verbose_name_plural = _('categories')

когда я запускаю сервер, я получаю эту ошибку:

type object 'Category' has no attribute 'replace'

Я думаю, что это из-за перевода, потому что когда я проверил, где находится 'replace', я нашел следующее:

def gettext(message):
    """
    Translate the 'message' string. It uses the current thread to find the
    translation object to use. If no current translation is activated, the
    message will be run through the default translation object.
    """
    global _default

    eol_message = message.replace("\r\n", "\n").replace("\r", "\n")

    if eol_message:
        _default = _default or translation(settings.LANGUAGE_CODE)
        translation_object = getattr(_active, "value", _default)

        result = translation_object.gettext(eol_message)
    else:
        # Return an empty value of the corresponding type if an empty message
        # is given, instead of metadata, which is the default gettext behavior.
        result = type(message)("")

    if isinstance(message, SafeData):
        return mark_safe(result)

    return result
Вернуться на верх