我有这样一个模型:
class Message(models.Model):
msg = models.CharField(max_length = 150)
Run Code Online (Sandbox Code Playgroud)
我有一个插入字段的表单.实际上django允许空的空间,例如,如果我在字段中插入一个它工作的空间.但现在我想解决这个问题:该字段不是必需的,但如果用户插入空格,则验证应该失败.
我已经添加:
class Message(models.Model):
msg = models.CharField(max_length = 150, blank = False)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.怎么了?
bra*_*ers 12
空格不被视为空白.blank特指无输入(即空字符串'').如果值仅由空格组成,则需要使用模型字段验证器来引发异常.有关详细信息,请参阅文档
例:
def validate_not_spaces(value):
if isinstance(value, str) and value.strip() == '':
raise ValidationError(u"You must provide more than just whitespace.")
class Message(models.Model):
msg = models.CharField(max_length=150, blank=False,
validators=[validate_not_spaces])
Run Code Online (Sandbox Code Playgroud)