Какой лучший способ определить конкретное число с помощью специальных символов в базе данных django

У меня есть конкретное требование к полю модели Django, по существу я хочу создать такой тип серии:

0025-0007

По сути, 4 целочисленных поля, один символ, и 4 целочисленных поля после этого, мне не нужно автоинкрементирование при изменении числа, есть ли в Django что-то, что уже работает с такими полями, в идеале что-то с автоматической валидацией?

Вы можете определить валидатор и работать с CharField и RegexValidator [Django-doc]:

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

class MyModel(models.Model):
    my_field = models.CharField(
        max_length=9,
        validators=[RegexValidator(r'\d{4}.\d{4}', 'The value should be four digits, a character and four digits')]
    )

Если разделителем между четырьмя цифрами всегда является дефис, вместо него используется r'\d{4}-\d{4}'.

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