模型层的数据验证?

Bri*_*ian 2 django django-models django-forms django-views

如何在没有modelform的情况下验证Django中模型层的数据?我是否必须覆盖某些功能?假设我在模型类中有一个CharField,我应该覆盖哪些函数来验证输入的数据类型?

我是django的新手.对不起,如果问题不具体.

Kit*_*nde 5

您可以在模型字段中添加验证器:https://docs.djangoproject.com/en/1.8/ref/validators/#writing-validators来自文档:

from django.db import models
from django.core.exceptions import ValidationError

def validate_even(value):
    if value % 2 != 0:
        raise ValidationError('%s is not an even number' % value)

class MyModel(models.Model):
    even_field = models.IntegerField(validators=[validate_even])
Run Code Online (Sandbox Code Playgroud)