blank=False,null=False 在模型代码 Django 中不起作用

blank=False,null=False not working in models code Django

1
2
3
4
5
class Url(models.Model):
    url=models.URLField(verify_exists=True,max_length=200,blank=False,null=False)
    date=models.DateTimeField(auto_now_add=True)
    count=models.IntegerField(default=0)
    isspam=models.IntegerField(default=0)

这是我的模型代码....当我创建一个不带参数的对象时..即使在写入 blank=False,null=False 之后,该对象也会被创建并保存到数据库中,并且 URL 也不会检查是否存在。如果我提供了一个死链接,它可以工作,但它不应该!

我的代码有什么问题?

相关查询:现在在 django 1.4 中,verify_exists 已被弃用...如何在 1.4 中检查验证?


  • 如您所见,django 默认情况下不会在 save() 上验证模型,但是您的数据库在插入 NULL 值时应该会抛出错误,我会检查架构以确保。
  • 使用 URLValidator

  • 所以我通过将我的 \\'url\\' 修改为 url=models.URLField(verify_exists=True,max_length=200,default=None,blank=False,unique=True)
    并通过 object.clean_fields() 验证它来工作。

    如果你不使用有效值或空值,它会抛出类似这样的错误

    1
    2
    3
    ValidationError: {'url': [u'This URL appears to be a broken link.'] }

    ValidationError: {'url': [u'This field cannot be blank.'] }