Нечувствительное к регистру ограничение уникального поля

Я пытаюсь обеспечить уникальность всех тегов при преобразовании в нижний регистр. Однако, когда я запускаю миграцию на следующей модели, я получаю следующую ошибку:


api.Tag: (models.E012) 'constraints' refers to the nonexistent field 'Lower(F(name))'.

class Tag(models.Model):
  name = models.CharField(max_length=30)


  class Meta:
    constraints = [
        models.UniqueConstraint(
            fields=[Lower('name')],
            name='unique_name'
        ),
    ]

Начиная с , вы можете работать с выражениями в UniqueConstraint [Django-doc], так:

class Tag(models.Model):
    name = models.CharField(max_length=30)
    
    class Meta:
        constraints = [
            models.UniqueConstraint(
                Lower('name'),
                name='unique_name'
            )
        ]
Вернуться на верх