日期验证->结束日期必须大于开始日期

时间:2019-07-02 21:07:16

标签: django datetime

我需要编写一个脚本来验证结束日期是否大于开始日期。而且开始日期/结束日期不能早于当前日期。需要用Django 1.8编写。

1 个答案:

答案 0 :(得分:0)

为此,您可以覆盖Model.clean(..) method [Django-doc]。如果您使用ModelForm [Django-doc],那么它将自动在模型实例上调用,以检查约束是否得到满足。

.clean()

开始,您可以在from django.db import models from django.utils import timezone class MyModel(models.Model): start = models.DateTimeField() end = models.DateTimeField() def clean(self): super().clean() if not (timezone.now() <= self.start <= self.end): raise ValidationError('Invalid start and end datetime')中使用constraints [Django-doc]

Meta

鉴于数据库系统对此提供了支持,约束也将在数据库级别强制实施。