需求如下:
1:使用了django框架中的orm模式来创建数据表
2:限制字段的取值范围
# --------------------
# 因为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普通职员,请必须标记,经理查看成员需按照该职级")