Django正在将小写和上层案例视为2个不同实体的同一领域

发布于 2025-02-13 23:59:23 字数 577 浏览 2 评论 0原文

我正在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”为艺术家时,它将视为不同的艺术家,尽管我希望它们是一个

。我我犯了什么错误?

I am creating models in django and then entering data in admin panel

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)

But the issue is when I am entering "AceHunter" or "acehunter" as artist it is treating as different artists although I want them as one....

Please can someone help me what error I am making?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的旅程 2025-02-20 23:59:24

您可以使用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.')

另外,检查此 form

You can use PostgreSQL CIText which is case-insensitive text field or validate like this:

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.')

Also, check this form

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文