Python验证仅允许数字和2个小数

时间:2017-02-01 22:27:39

标签: python django

想知道是否有人可以帮我验证我的条目,只允许两位小数的数值。

这是models.py

class Records(models.Model):
capital = models.DecimalField(max_digits=10, decimal_places=2)
years = models.DecimalField(max_digits=10, decimal_places=2)
rate = models.DecimalField(max_digits=10, decimal_places=2)
amount = models.DecimalField(max_digits=10, decimal_places=2)

3 个答案:

答案 0 :(得分:0)

我认为你已经很好地定义了这些模型。要验证模型,可以使用Django Model类的clean_fields()或clean()方法。您可以阅读有关django模型验证here

的更多信息

答案 1 :(得分:0)

您可以编写自定义验证器并将其添加到字段

  

Django validators

答案 2 :(得分:0)

您可以在模型或表单中执行此操作。

对于这种情况,Django有一个built-in validator

from django.core.validators import DecimalValidator
...
# In the model:
capital = models.DecimalField(max_digits=10, decimal_places=2, validators=[DecimalValidator])

# Or in a Form:
capital = forms.DecimalField(max_digits=10, decimal_places=2, validators=[DecimalValidator])