Какой лучший способ определить конкретное число с помощью специальных символов в базе данных 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}'
.