When I try to add a constraint on closed_at
field, I got a migration error django.db.utils.ProgrammingError: functions in index predicate must be marked IMMUTABLE
. Is it any possible way to do it?
from django.db.models.functions import Now
class ModelName():
# Other fields
closed_at = models.DateTimeField()
class Meta:
constraints = [
models.UniqueConstraint(
fields=['field_1'],
condition=Q(closed_at__gt=Now()),
name='unique_field_1_constraint',
),
]
Migration:
class Migration(migrations.Migration):
dependencies = [
('_____', '__________'),
]
operations = [
migrations.AddConstraint(
model_name='model_name',
constraint=models.UniqueConstraint(condition=models.Q(
('closed_at__gt', django.db.models.functions.datetime.Now())
), fields=('field_1',), name='unique_field_1_constraint'),
),
]