【发布时间】:2020-01-08 12:22:16
【问题描述】:
我想在我的 Django 表中添加一个models.TimeField 字段。
并限制用户,使他只能添加一个圆形小时(例如 13:00 而不是 13:30)。
最好的方法是什么?
【问题讨论】:
-
为该字段添加额外的验证。
标签: django database django-models
我想在我的 Django 表中添加一个models.TimeField 字段。
并限制用户,使他只能添加一个圆形小时(例如 13:00 而不是 13:30)。
最好的方法是什么?
【问题讨论】:
标签: django database django-models
你可以定义一个额外的validator [Django-doc]:
from django.core.exceptions import ValidationError
def validate_round_hour(value):
if not value.minute == value.second == value.microsecond == 0:
raise ValidationError(
'This should be a round hour.',
params={'value': value},
)
然后您可以将验证器添加到您的模型字段:
class SomeField(models.Model):
some_time = models.TimeField(validators=[validate_round_hour])
请注意,这不会在数据库级别强制执行。但是表单会运行验证器,因此可以防止用户输入无效数据。
【讨论】: