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

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

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

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

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

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

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

html 字段唯一性校验,使用ModelForm校验数据唯一性相关推荐

  1. JSR303校验前端传递的数据

    介绍 JSR-303规范(Bean Validation规范)提供了对 Java EE 和 Java SE 中的 Java Bean 进行验证的方式.该规范主要使用注解的方式来实现对 Java Bea ...

  2. java 验证int长度_java使用注解校验对象属性值数据长度

    java使用注解校验对象属性值数据长度 定义注解 import java.lang.annotation.*; /** * describe:定义注解 * current user Maochao.z ...

  3. 我也聊聊串口通信协议:数据包校验与常用校验算法

    本篇博客主要记载了我对数据校验过程以及奇偶校验的理解. 1.数据校验过程 由于数据传输距离的因素影响,计算机和受控设备间的通信数据就常常出现不可预知的错误.为了防止这些错误所带来的影响,一般在通信时采 ...

  4. 常用的数据校验方式(奇偶,CRC,异或校验, LRC校验,累加和,MD5等校验)概念及源码

    数据校验概念 数据在传输的过程中,会受到各种干扰的影响,如脉冲干扰,随机噪声干扰和人为干扰等,这会使数据产生差错.为了能够控制传输过程的差错,通信系统必须采用有效的检错方案.因此产生了数据校验. 数据 ...

  5. 2字节无符号累加和校验,校验从包头到数据的内容

    最近在接触到累加和校验,找了以下一些资料,希望对大家有所帮助 包头(DNY) 长度 物理ID 消息ID 命令 数据 校验 3字节 2字节 4字节 2字节 1字节 n 2字节 为了保证每条命令传输的正确 ...

  6. excel导入数据校验_从Excel数据验证列表中选择多个项目

    excel导入数据校验 You've probably used an Excel data validation drop down list, where you can click the ar ...

  7. excel导入数据校验_使用Excel数据验证限制日期范围

    excel导入数据校验 Yesterday, one of my clients emailed to let me know that she was having trouble entering ...

  8. Spring Boot参数校验以及分组校验的使用

    简介:做web开发基本上每个接口都要对参数进行校验,如果参数比较少,还比较容易处理,一但参数比较多了的话代码中就会出现大量的if-else语句.虽然这种方式简单直接,但会大大降低开发效率和代码可读性. ...

  9. linq 清除一条数据中的某个字段值_B端通用批量数据导入方案设计

    点击上方蓝色字体,关注我 B端通用批量数据导入方案设计 文 | 3548字 估计阅读 | 9分钟 引题 B端产品经常遇到大量数据录入的需求.如春季招聘完成后,给新招的120个员工建立员工档案,并创建员 ...

最新文章

  1. rtsp连接断开_live555学习之RTSP连接建立以及请求消息处理过程
  2. andorid 第五天 了解xml与应用程序之间的关系
  3. rpm方式安装mysql-5.7.11
  4. 判断一个字符串是否包含另一个字符串(用java但是不能用index()这个函数)
  5. emoji .png_根据我对3.5GB聊天记录的分析,Emoji开发人员使用最多
  6. jQuery EasyUI使用教程之基本的拖放
  7. python对列表的删除,挺有意思的东西
  8. ubuntu 18.04.1 使用心得
  9. 松下NPM服务器怎么备份系统,松下NPM基本操作手册与教程
  10. python之日期与时间处理模块及利用pandas处理时间序列数据
  11. 关于latex的网站推荐
  12. php 判定是否是数组,php判断一个数组是否为有序
  13. java+基于dom4j工具类_基于dom4j的xml映射实体的工具类(java)
  14. 【Win10技巧】如何设置win10资源管理器打开为“这台电脑”?
  15. 如何为MindManager时间表思维导图添加春节假期?
  16. 回顾IDEA全局搜索快捷键
  17. Ubuntu下挂载Windows分区
  18. ajax回调函数的各个参数的理解
  19. Ubuntu更新显卡驱动与升级cuda版本“采坑“小记
  20. 在图像处理中阈值是什么意思?

热门文章

  1. 国内有哪些比较靠谱的云服务器值得选择?
  2. 2023年,千万别裸辞....
  3. Hive insert overwrite
  4. SuperMap iDesktop 8C 空间数据处理与管理
  5. CEvent,CSemaphore,CCriticalSection,CMutex
  6. iOS Xcode13.3 创建framework,没有Products目录
  7. intel IOMMU内核代码阅读笔记
  8. 蒋鑫鸿:9.7黄金现价行情趋势分析黄金原油价格涨跌分析及投资建议
  9. 被scanf背刺后,告诉你想了解的缓冲区的一切
  10. 推销信乐团演唱会的文案