考虑以下情况:
假设我的应用程序允许用户创建他们所在的州/省
在美国,用户可以创建一个名为"德克萨斯"的州.如果这个应用
但重要的是,该系统应防止在以下情况下创建"德克萨斯州"
如果模型如下所示:
class State(models.Model):
name = models.CharField(max_length=50, unique=True)
这种独特性在postgres中是区分大小写的;也就是说,博士后
在这种情况下可以做些什么来防止这种行为.怎么做
现在,我正在做以下事情,以防止案件的产生-
class CreateStateForm(forms.ModelForm):
def clean_name(self):
name = self.cleaned_data['name']
try:
State.objects.get(name__iexact=name)
except ObjectDoesNotExist:
return name
raise forms.ValidationError('State already exists.')
class Meta:
model = State
在很多情况下,我必须做这个判断,我不想在任何地方都写类似的iexact判断.
只是想知道是否有一个内置的或