Установка часового лимита для поля DateTimeField Django
class Event(models.Model):
start = models.DateTimeField(default=timezone.now)
end = models.DateTimeField()
Как установить жесткий предел для установки конечной_даты?
Таким образом, если пользователь хочет установить что-либо более 5 часов от начала работы, система не позволит ему это сделать
Вы можете сделать это на уровне базы данных, используя constraints
from datetime import timedelta
from django.db import models
from django.db.models import CheckConstraint, Q, F
class Event(models.Model):
start = models.DateTimeField(default=timezone.now)
end = models.DatetimeField()
class Meta:
constraints = [
CheckConstraint(
check=Q(end__lte=F('start') + timedelta(hours=5)),
name='check_end_datetime',
),
]