设置django orm 模型中的字段限制数值的大小

需求如下:

1:使用了django框架中的orm模式来创建数据表

2:限制字段的取值范围

python 复制代码
# --------------------  
# 因为django的orm没有限制整形字段的取值范围,所以需要django内置的值校验器进行校验  
from django.core.validators import MinValueValidator,MaxValueValidator  
# --------------------
class UserProfile(models.Model):  
    # ------------------------  
  
    # 选择部门时,为何不使用多对多的字段:因为使用了多对多,在选择时是允许选择多个外键,但是admin后台显示中展示这个字段,无法显示多个部门  
    # 所以在部门信息模型中添加上部门managers字段,表示是谁管理的部门  
  
  
    # ------------------------  
    # 用户模型中 当创建或删除时,将会关联删除  
    user=models.OneToOneField(User,on_delete=models.CASCADE,verbose_name="当前用户名")  
  
    # 新添加字段  
    RANK_USER=( ('普通销售', '普通销售'), ('市级经理', '市级经理'), ('区域经理', '区域经理'), ('总经理', '总经理'), ('财务', '财务'),('投流手', '投流手'))  
    # validators=[MaxValueValidator(1),MaxValueValidator(7)] 值校验器,限制为最小值1,最大值7  
    userrank = models.IntegerField(default=7, blank=True, verbose_name='用户在企业在的职级',validators=[MinValueValidator(1),MaxValueValidator(7)]  
                                   ,help_text="1全国性总经理,2省部门经理,3市级经理,,4财务,5小组组长,6投流人,7普通职员,请必须标记,经理查看成员需按照该职级")
相关推荐
Decay__1 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
茶栀(*´I`*)2 小时前
SQL 性能分析:从慢查询日志到执行计划的完整定位方法
数据库·sql
艺杯羹2 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
code2cat3 小时前
【随笔】MCP工具重试:任务已经创建,响应丢了怎么办
数据库·mcp
wuyk5555 小时前
Spider-第10讲-SQLite持久化与去重
数据库·爬虫·sqlite
乌暮6 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
小此方7 小时前
Re:Mysql数据库基础篇(十二):什么是事务、事务解决了什么问题、事务的四大属性、事务的操作方式
数据库·mysql
flash俊杰8 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构
2501_933923259 小时前
redis:string类型常见命令
数据库·redis·缓存
byte轻骑兵10 小时前
时序数据库选型指南:Apache IoTDB 社区版实践与踩坑
数据库·人工智能·apache·时序数据库·iotdb