Django рассматривает одно и то же поле в нижнем и верхнем регистре как две разные сущности

Я создаю модели в django и затем ввожу данные в админ-панель

class Song(models.Model):
  name = models.CharField(max_length=30,validators=[alphanumeric]).title()
  slug=models.SlugField(default="",blank=True,null=False,db_index=True)
  artist = models.CharField(max_length=30,validators=[alphanumeric])
  genre = models.CharField(max_length=30,validators=[alphanumeric])
  language = models.CharField(max_length=30,validators=[alphanumeric])
  image = models.ImageField(null=True,blank=True)

Но проблема в том, что когда я ввожу "AceHunter" или "acehunter" в качестве исполнителя, он рассматривает их как разных исполнителей, хотя я хочу, чтобы они были как один....

Пожалуйста, кто-нибудь может помочь мне, какую ошибку я допускаю?

Вы можете использовать PostgreSQL CIText, который является текстовым полем, нечувствительным к регистру, или проверить следующим образом:

from django.core.exceptions import ValidationError
class Song(models.Model):
  name = models.CharField(max_length=30,validators=[alphanumeric]).title()
  slug=models.SlugField(default="",blank=True,null=False,db_index=True)
  artist = models.CharField(max_length=30,validators=[alphanumeric])
  genre = models.CharField(max_length=30,validators=[alphanumeric])
  language = models.CharField(max_length=30,validators=[alphanumeric])
  image = models.ImageField(null=True,blank=True)
  def validate(self):
      if Song.objects.filter(artist__iexact=self.artist).exists():
          raise ValidationError('This artist already exists.')

Также проверьте эту форму

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