django 自定义验证器功能?
django custom validators function?
我有一个名为 X 的模型,它有一个
STATUS_CHOICES = (
(STATUS_A, 'A'),
(STATUS_B, 'B'),
(STATUS_O, 'Other'),
)
和字段名称 status = models.CharField(max_length=48, choices=STATUS_CHOICES)
我在这里尝试为上传的电子表格编写一个自定义验证器,以检查应该 return 只有 STATUS_CHOICES 的值和它应该 return 的任何其他值错误我应该怎么写?
validators.py
from app.model import X
def validate_A_or_B(value):
return value in dict(X.STATUS_CHOICES).values()
这是正确的吗?
您可以像这样为字段定义自定义验证:
validators.py:
from your_view.models import X
from django.core.exceptions import ValidationError
def validate_status(value):
if value not in dict(X.STATUS_CHOICES).values():
raise ValidationError("your message")
return value
您可以像这样在您的模型字段中使用它:models.CharField(max_length=48, choices=STATUS_CHOICES, validators = [validate_status])
不要忘记包含 from .validators import validate_status
我有一个名为 X 的模型,它有一个
STATUS_CHOICES = ( (STATUS_A, 'A'), (STATUS_B, 'B'), (STATUS_O, 'Other'), ) 和字段名称 status = models.CharField(max_length=48, choices=STATUS_CHOICES)
我在这里尝试为上传的电子表格编写一个自定义验证器,以检查应该 return 只有 STATUS_CHOICES 的值和它应该 return 的任何其他值错误我应该怎么写?
validators.py
from app.model import X
def validate_A_or_B(value):
return value in dict(X.STATUS_CHOICES).values()
这是正确的吗?
您可以像这样为字段定义自定义验证:
validators.py:
from your_view.models import X
from django.core.exceptions import ValidationError
def validate_status(value):
if value not in dict(X.STATUS_CHOICES).values():
raise ValidationError("your message")
return value
您可以像这样在您的模型字段中使用它:models.CharField(max_length=48, choices=STATUS_CHOICES, validators = [validate_status])
不要忘记包含 from .validators import validate_status