Как запретить ввод определенных символов в поле CharField

У меня есть модель, в которой я хочу запретить ввод специальных символов (+,-,/,% и т.д.) в поле заголовка:

class Article(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.title

Могу ли я сделать это в самой модели? Или мне нужно что-то сделать с forms.py, чтобы пользователи не могли опубликовать форму с особыми символами в заголовке. Как именно я могу этого добиться?

Вы можете добавить валидатор с параметром validators=… [Django-doc] и работать с инверсным regex:

from django.core.validators import RegexValidator

class Article(models.Model):
    title = models.CharField(
        max_length=100,
        validators=[RegexValidator('[+-/%]', inverse_match=True)]
    )
    # …
Вернуться на верх