Django: Прописные / строчные значения Django Атрибуты модели должны рассматриваться как одинаковые - PullRequest
0 голосов
/ 24 марта 2020

У меня есть модель города:

class City(models.Model):
    state = models.ForeignKey('State', on_delete=models.SET_NULL, null=True)
    name_regex = RegexValidator(regex=r'^[a-zA-Z]+$',
                                message="Name should only consist of characters")
    name = models.CharField(validators=[name_regex], max_length=100)
    postalcode = models.IntegerField(unique=True)

    class Meta:
        unique_together = ["state", "name"]

В этой модели название города со всеми регистрами (заглавными и строчными буквами) следует рассматривать так же, как и в случае Udaipur / udaipur / udaiPuR, все они должны рассматриваться как одинаковые.

1 Ответ

0 голосов
/ 24 марта 2020

Попробуйте это в вашей модели, это должно помочь вам

class NameField(models.CharField):
    def __init__(self, *args, **kwargs):
        super(NameField, self).__init__(*args, **kwargs)

    def get_prep_value(self, value):
        return str(value).lower()

class City(models.Model):
    state = models.ForeignKey('State', on_delete=models.SET_NULL, null=True)
    name_regex = RegexValidator(regex=r'^[a-zA-Z]+$',
                                message="Name should only consist of characters")
    name = NameField(validators=[name_regex], max_length=100)
    postalcode = models.IntegerField(unique=True)

    class Meta:
        unique_together = ["state", "name"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...