在Django的models.py中做数据校验
时间: 2024-03-21 13:39:41 浏览: 64
数据校验的一个很好的程序
4星 · 用户满意度95%
在Django的models.py中,可以通过覆盖模型的`clean()`方法来实现数据校验。`clean()`方法在模型数据被保存到数据库之前自动调用,可以在其中编写数据校验逻辑。如果校验失败,可以抛出`ValidationError`异常,并在异常中指定错误信息。
例如,下面的代码演示了如何在`Person`模型中对`age`字段进行校验:
```python
from django.core.exceptions import ValidationError
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
def clean(self):
if self.age < 0 or self.age > 120:
raise ValidationError('年龄必须在0到120之间')
```
在这个例子中,我们在`Person`模型中定义了`clean()`方法,并在其中对`age`字段进行了校验。如果`age`字段的值不在合法范围内,就会抛出`ValidationError`异常,这样就可以阻止模型被保存到数据库中。
阅读全文