python - 在 Django 模型表单中验证 end_date 是否大于 start_date

标签 python django validation modelform

我的模型中有一个 start_date 和 end_date 字段,我想在 end_date 大于 start_date 时将错误分配给它,我一直在查看文档,但找不到相关示例。

最佳答案

您的表单中需要一个自定义清理函数来执行检查:

def clean(self):
    cleaned_data = super().clean()
    start_date = cleaned_data.get("start_date")
    end_date = cleaned_data.get("end_date")
    if end_date < start_date:
        raise forms.ValidationError("End date should be greater than start date.")

关于python - 在 Django 模型表单中验证 end_date 是否大于 start_date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7355409/

相关文章:

django 模型 on_delete 将自己传递给 models.SET()

python - 交易成功后如何从PayPal获取invoice_id

python - 序列化程序返回不正确的输出

python - pylibdmtx 库,尝试除了不工作 - 断言 `value >= 0 && value < 256'

python - 在 Django 中获取唯一外键?

forms - Dojo dijit.form.Select验证错误显示

javascript - CodeIgniter 表单验证,重新填充动态添加的字段

ruby-on-rails-3 - 如何在 Rails 3.2 中验证嵌套模型在其父模型范围内的唯一性?

python - @reboot crontab 没有执行

python - 使用python脚本读取未读邮件