Зачем вам нужно "import gettext_lazy as _" в этом коде Django?

Я хочу добавить новое поле в мой Django models.py

from django.core.validators import RegexValidator
from django.db import models

class MyModel(models.Model):
    postal_code = models.CharField(
        max_length=6,
        validators=[RegexValidator('^[0-9]{6}$', _('Invalid postal code'))],
    )

Этот код дал мне ошибку NameError: name '_' is not defined.

После некоторого гугления я нашел решение, но не понимаю его. Чтобы решить эту проблему, я добавил строку from django.utils.text import gettext_lazy as _

Теперь код выглядит следующим образом;

from django.core.validators import RegexValidator
from django.db import models
from django.utils.text import gettext_lazy as _


class MyModel(models.Model):
    postal_code = models.CharField(
        max_length=6,
        validators=[RegexValidator('^[0-9]{6}$', _('Invalid postal code'))],
    )

Какова цель from django.utils.text import gettext_lazy as _ ? Почему он исправляет ошибку?

Я использую Django v4

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