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.')
Также проверьте эту форму