在Django Manuel中,是编写验证器的示例。 https://docs.djangoproject.com/en/2.2/ref/validators/
qoute
例如,这是一个仅允许偶数的验证器:
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
def validate_even(value):
if value % 2 != 0:
raise ValidationError(
_('%(value)s is not an even number'),
params={'value': value},
)
您可以通过字段的验证器参数将其添加到模型字段:
> from django.db import models
>
> class MyModel(models.Model):
> even_field = models.IntegerField(validators=[validate_even])
qoute结束
但是我应该把这段代码放在哪里?
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
def validate_even(value):
if value % 2 != 0:
raise ValidationError(
_('%(value)s is not an even number'),
params={'value': value},
)
我应该创建自己的文件,例如 validator.py 还是应该将其放入模型中?
答案 0 :(得分:1)
最佳做法是尽可能地分离代码的不同逻辑组件。因此,将仅模型的代码放入模型文件中,并将验证器代码放入单独的文件中。