如何定义接受浮动百分比数字的字段?例如8.4%
我已经定义了这个字段,但它没有完成这项工作。有什么想法吗?
alphanumeric = RegexValidator(r'^[0-9%]+$', 'Only alphanumeric characters are allowed.')
add_on_percentage = models.CharField(max_length=10, blank=True, null=True, validators=[alphanumeric])
答案 0 :(得分:1)
您可以在模型中使用验证器,并在显示数字时在模板中添加百分比。这使您可以轻松地进行任何操作。
from django.core.validators import MaxValueValidator, MinValueValidator
#in your model..
percentage = models.FloatField(
validators = [
MinValueValidator(0.0), MaxValueValidator(100.0)
])
答案 1 :(得分:0)
如果您只想在数据库中保存带有百分比符号的浮点数,则此正则表达式^\d+.\d+%+$
将完成此任务。
注意:默认情况下,字段验证仅适用于ModelForm中的用法。
如果您想每次都进行检查,请以这种方式覆盖班级中的save
:
def save(self, force_insert=False, force_update=False, using=None,
update_fields=None):
self.full_clean()
return super(YourModel, self).save(force_insert=force_insert, force_update=force_update,
using=using, update_fields=update_fields)