gpt4 book ai didi

python - MinValueValidator 不适用于 Django 中的 DecimalField

转载 作者:行者123 更新时间:2023-12-02 21:09:00 25 4
gpt4 key购买 nike

我有一个使用 Django 和 Django Rest Framework 开发的 API。我有一个带有 DecimalField 的模型,它应该存储至少 1 的值。因此,我通过以下方式定义了该字段:

goal = models.DecimalField(decimal_places=2, max_digits=16, validators=[MinValueValidator(1)])

当我创建调用 API 的对象(使用 DRF 的 ModelViewSet)时,我可以创建具有负“目标”的对象,因此验证器似乎不起作用(我已将其包含在模型序列化器中)。

有什么想法吗?

最佳答案

验证器仅在使用 Django 的 ModelForm 时自动运行。否则,您需要自己触发验证,通常是通过调用模型对象的 full_clean() 方法。

参见https://docs.djangoproject.com/en/1.9/ref/validators/#how-validators-are-run

关于python - MinValueValidator 不适用于 Django 中的 DecimalField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34578193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com