私はカスタムバリデーターを書きました。与えられたフィールド値が負であれば、ValidationErrorが発生します。Djangoカスタムバリデーターが動作しない
def validate_positive(value):
if value < 0:
raise ValidationError(
_('%(value) is negative number'),
params = {'value': value}
)
私は、フィールドのバリデータ引数
class Book(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
title = models.CharField(max_length=50)
price = models.IntegerField(default=0,validators=[validate_positive])
quantity = models.IntegerField(default=0,validators=[validate_positive])
経由しかし、価格がゼロより小さい場合、それはすべてのエラーを上げていないオブジェクトを作成しながら、私のモデルフィールドにこれを追加しました。
私はどこが間違っているのか分かりませんし、私はdjangoを初めて使っています。
私はDjango 1.9を使用しています。
私を助けてください。
バリデータはフォームのために使用され、オブジェクトを作成するためのものではありません。フォームの外にオブジェクトを作成する場合は、入力を検証する別の方法を提供する必要があります。 – Sayse
@Sayse次に、モデルフィールドに与えられた入力を検証する方法は? – rock