Reputation: 15
was wondering if anyone could help me to validate my entries to only allow numeric values with two decimal places.
Here is the 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)
Upvotes: 1
Views: 2616
Reputation: 3454
You could do this on the Model or in a Form.
Django has a built-in validator for just this case:
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])
Upvotes: 1