3
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)

これは私のモデルコードです....そして引数なしでオブジェクトを作成すると..オブジェクトが作成され、書き込み後もDBに保存されblank=False,null=False、URLも存在するかどうかがチェックされません。デッドリンクを指定すると、動作しますが、動作しないはずです!

私のコードの問題は何ですか?

関連クエリ:django 1.4で、verify_existsが非推奨になりました... 1.4で検証を確認するにはどうすればよいですか?

4

2 に答える 2

0

そのため、「url」をに変更 url=models.URLField(verify_exists=True,max_length=200,default=None,blank=False,unique=True) し、object.clean_fields()で検証することで、機能するようになりました。

有効な値または空の値を使用しない場合、次のようなエラーがスローされます

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

ValidationError: {'url': [u'This field cannot be blank.'] }
于 2012-09-07T14:14:49.193 に答える
0
  1. ご覧のとおり、djangoはデフォルトでsave()でモデルを検証しませんが、NULL値を挿入するとデータベースがエラーをスローするはずです。スキーマをチェックして、確認します。
  2. URLValidatorを使用する
于 2012-09-07T15:03:57.640 に答える