Django:Django模型属性的大小写值应视为相同
我有一个模范城市:Django:Django模型属性的大小写值应视为相同,django,Django,我有一个模范城市: 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")
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一样处理。在您的模型中尝试一下,它会为您带来好处
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"]
非常感谢。但我得到了一个错误:AttributeError:module'django.db.models'没有属性'NameField'。如何解决这个错误?我已经更新了我的答案,现在你可以试一试了。在代码中更新后,请确保执行迁移。