首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在模型和管理中的Django字段验证?

在模型和管理中的Django字段验证?
EN

Stack Overflow用户
提问于 2012-09-27 03:03:04
回答 1查看 6.3K关注 0票数 10

我想为Django模型的特定字段定义自己的验证例程。我希望错误消息显示在管理表单中,但我也希望发生相同的验证,如果实体是由自己的python代码保存的。有没有办法在不破坏DRY原则的情况下做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-27 06:50:55

如果您想验证单个字段,可以使用write a validator将其添加到您的模型字段中。

无论何时调用模型的full_clean方法,都将为该字段运行验证器。它将在验证模型表单时运行(包括在Django admin中),但不会在保存模型实例时自动运行-您必须在python代码中手动调用full_clean

代码语言:javascript
运行
复制
m = MyModel(x=20)
m.full_clean() # may raise ValidationError
m.save()

如果您想在保存模型时强制运行验证器,那么可以覆盖保存方法并在那里调用full_clean。请注意,当使用模型表单和django admin时,这将导致验证运行两次。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12608639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档