【发布时间】:2021-09-15 20:40:03
【问题描述】:
我在 Django 中有一个用于 CreateView 和 UpdateView 的表单。其中一个字段是 hours_allocated,它不能是
hours_allocated= models.DecimalField(max_digits=10, decimal_places=2, validators=[MinValueValidator(Decimal('0.0')), MaxValueValidator(Decimal('24.00'))])
当记录更新(UpdateView)时,这很好。但是,在 CreateView 中,我想确保该值 > 0(而不是 UpdateView 中允许的 = 0.0)。如果我添加一个 clean_hours_allocated() 方法来检查值是否 > 0,它适用于 CreateView 和 UpdateView。
有没有办法根据表单是在 UpdateView 还是 CreateView 中使用而在表单级别进行不同的验证?或者,有没有办法在视图本身中正确处理验证?
【问题讨论】:
-
您能出示您的表格吗?
标签: django django-views django-forms django-class-based-views