/
oriono
/
taskman
Обзор
Документация
Войти
/
oriono
/
taskman
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
task_manager/notes/models.py
80 строк
2 KB
abo
Add MaxLengthValidator to text fields across the application
03 апр 2026, 19:24
03 апр 2026, 19:24
6dd59b3
Код
Авторство
О чём код?
import uuid from django.db import models from django.core.validators import RegexValidator, MaxLengthValidator from django.utils.translation import gettext_lazy as _ from task_manager.user.models import User from task_manager.teams.models import Team from task_manager.tasks.models import Task class Note(models.Model): id = models.AutoField(primary_key=True) uuid = models.UUIDField( default=uuid.uuid4, unique=True, editable=False, db_index=True ) title = models.CharField( max_length=150, blank=True, verbose_name=_('Title'), validators=[ RegexValidator( r'^[\w \-:,.!?]+$', message=_( "Only letters, numbers, spaces, " "and -_.,!? symbols are allowed. " "Symbols <, >, #, & are not allowed." ) ), ], ) content = models.TextField( blank=False, verbose_name=_('Content'), validators=[MaxLengthValidator(20000)] ) author = models.ForeignKey( User, on_delete=models.SET_NULL, null=True, related_name='notes', verbose_name=_('Author') ) team = models.ForeignKey( Team, on_delete=models.CASCADE, null=True, blank=True, related_name='notes', verbose_name=_('Team') ) task = models.ForeignKey( Task, on_delete=models.SET_NULL, null=True, blank=True, related_name='notes', verbose_name=_('Task') ) created_at = models.DateTimeField( auto_now_add=True, verbose_name=_('Created at') ) updated_at = models.DateTimeField( auto_now=True, verbose_name=_('Updated at') ) class Meta: ordering = ['-created_at'] verbose_name = _('Note') verbose_name_plural = _('Notes') def __str__(self): if self.title: return self.title return f"Note {self.id}"