首页 > 其他 > 详细

使用ModelForm校验数据唯一性

时间:2020-07-28 22:10:39      阅读:84      评论:0      收藏:0      [点我收藏+]

  在设计模型类的时候,将指定字段设置unique=true属性,可以保证该字段在数据库中的唯一性。

  使用ModelForm可以将指定模型类快速生成表单元素。在提交数据后,使用is_valid()校验时,如果模型类的某个字段设置过unique属性,那么ModelForm就会对其进行数据唯一性校验,校验通过后才允许该数据插入数据库

  因为ModelForm继承自BaseModelForm,而BaseModelForm中的全局钩子函数 clean中做设置了校验数据唯一性的操作:

  技术分享图片

 

   这个设置在普通Form对象中是没有的(普通Form继承的是BaseForm):

  技术分享图片

 

   使用ModelForm校验数据唯一性需要注意:

    如果重写了父类的clean方法,必须将self._validate_unique=True带上,否则该ModelForm对象不会对数据进行唯一性校验。并且在插入数据时会发送如下错误:

      技术分享图片

使用ModelForm校验数据唯一性

原文:https://www.cnblogs.com/yamx/p/13392445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!