一、模型 管理器

模型实例通过模型管理器获得并传递给使用者,修改默认的模型管理器,可以提前进行一些筛选步骤,比如筛掉已经注销的用户、已经取消的订单等等。
默认的模型管理器是django.db.models.Manager
自定义模型继承自models.Manager
自定义一个筛除订单状态为取消的管理器

class OrderModelManager(models.Manager):def get_queryset(self):return super().get_queryset().filter(~Q(status=5))

在OrderModel中加入

    objects=OrderModelManager()

再去站点管理中筛选已取消的订单就没有显示的了

二、字段验证器

定义一个验证器的类

from django.core.exceptions import ValidationErrorclass UserValidator:@classmethoddef  valid_number(cls,value):if not re.match(r'1[1-57-9][0-9]{9}',value):raise ValidationError("手机号格式不正确")

字段在参数里 用validators=列表

    number = models.CharField(max_length=11,blank=True,null=True,verbose_name='手机号',validators=[UserValidator.valid_number])

效果:

2021-07-31-DJ-007 Django 模型,自定义模型管理器Manager,自定义字段验证器Validdator相关推荐

  1. Django REST framework API 指南(12):验证器

    官方原文链接 本系列文章 github 地址 转载请注明出处 验证器 大多数情况下,您在 REST framework 中处理验证时,只需依赖默认的字段验证,或者在序列化类或字段类上编写明确的验证方法 ...

  2. Thinkphp5 模型 验证器执行顺序问题

    Thinkphp5把模型的验证规则归为一个验证器,这种做法,不知到符不符合大家的心意,反正楼主是比较不爽的 楼主更倾向于tp3.2的验证规则直接写在模型里面,毕竟你的验证规则一般而言是针对模型来验证的 ...

  3. django 1.8 官方文档翻译:13-12 验证器

    验证器 编写验证器 验证器是一个可调用的对象,它接受一个值,并在不符合一些规则时抛出ValidationError异常.验证器有助于在不同类型的字段之间重复使用验证逻辑. 例如,这个验证器只允许偶数: ...

  4. SAP开发框架系列之 自定义批次管理

    点击蓝字 关注我们 一 前言 归纳总结是个好习惯,我们都值得拥有. 每一个业务的开发需求,都是一次归纳的契机. 根据业务特定的需求分析,是否可以概括出一个通用需求? 特定业务需求是否完全包含在这个通用 ...

  5. 9、 Struts2验证(声明式验证、自定义验证器)

    1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...

  6. SpringBoot自定义参数验证器

    前要 之前我们介绍了JSR-303验证方式,十分的方便Spring都帮我们封装好了,但是对一些复杂的验证,还是需要更加灵活的验证器的. JSR-303验证器传送门:https://www.jiansh ...

  7. ASP.NET2.0服务器控件之自定义状态管理

    自定义视图状态管理 在介绍视图状态时,我们曾经提到过:对于简单属性,例如,String.Int等类型,.NET执 行引擎将自动启用默认视图状态管理机制,以便完成相应的功能.然而,如果开发人员在View ...

  8. struts2自定义验证器(身份证验证)

    struts2的验证器是用的xwork里面的验证,自定义验证器就是根据源码继承已有的字段验证器而来.具体步骤如下: 1.展开xwork-2.0.4.jar,com.opensymphony.xwork ...

  9. 基于struts2框架-自定义身份证号验证器

    自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口.  > 可以选择继承 ValidatorSupport 或 FieldValidato ...

最新文章

  1. ipsec在企业网中的应用(IKE野蛮模式)
  2. c++ cstring 转换 char_【揭秘】C语言类型转换时发生了什么?
  3. 月薪11万招数据工程师,看到要求我傻眼了!
  4. node.js微博案例第二讲
  5. 【OpenCV 例程200篇】21. 图像的叠加
  6. flask manage port_后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统...
  7. 【算法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
  8. 2010年3月再谈前端工程师的笔试题
  9. 有量子计算机的山西高能小说,五本大神级高能热血小说,没看过也必定听说过 ,加入书架告别书荒!...
  10. 如何隐藏Windows7 系统保留分区
  11. 2020年不能启动win7_包装车间2020年大修正式启动
  12. 世界各国国家代码简称 - 备用
  13. 51单片机外设篇:红外通信
  14. STM32学习记录——SIM900A实现中英文短信发送
  15. 2020 ECCV 所有论文及补充材料链接(二)
  16. wamp的Laravel项目的Apache虚拟主机域名绑定和端口修改(实用)
  17. eslint: globals
  18. 一点资讯app signature
  19. R语言参数检验多重比较
  20. littlevgl教程 Linux,[笔记]在嵌入式linux上运行LittlevGL GUI demo 支持tslib

热门文章

  1. Arduino: 包对应的文件
  2. Gridview 导出excel,解决了只能导出当前页的问题
  3. 为什么我们需要在C#中装箱和拆箱?
  4. coldfusion下载地址
  5. 百度智能云服务器 笔记
  6. 每日一练 | 20道常考Python面试题大总结
  7. 什么是POP3、SMTP及IMAP?
  8. linux查看ip命令eth0,执行命令取出linux中eth0的IP地址
  9. 运动健康南向设备接入服务传输数据解析举例
  10. 乌镇互联网大佬晚宴火了;迅雷“内讧”结束;Uber三名安全经理离职丨价值早报