• django定义模型类


    • 模型类被定义在应用文件夹下的model.py中
    • 模型类必须继承Django的models.Model类
    • 属性名不能用连续的两条下划线__
    • 主键:primary key,简写 pk
    • 不需要主动定义,django会自动生成自增长的主键,属性名叫 id,
    • 如果开发者自己定义了主键,则django不会再生成默认的主键

    格式:

    属性名=models.字段类型(字段选项)

    • 字段类型:

    类型说明
    AutoField 自动增长的IntegerField,通常不用指定,不指定时Django会自动创建名为id的自动增长属性
    BooleanField 布尔字段,值为True或False
    NullBooleanField 支持Null、True、False三种值
    CharField 字符串,必须指定max_length,表示最大字符个数
    TextField 大文本字段,一般超过4000个字符时使用
    IntegerField 整数
    DecimalField 十进制浮点数,用python中的Decimal实例来表示
    必须指定max_digits最大位数,decimal_places小数位数。
    FloatField 浮点数
    DateField 日期
    1) 参数auto_now表示每次修改保存对象时,自动设置该字段为当前时间,用于保存"最后一次修改"时间,默认为False;
    2) 参数auto_now_add表示当对象第一次被创建时自动设置保存当前时间,用于保存"创建时间"时间,默认为值为False;
    3) 参数auto_now_addauto_now是相互排斥的,不能同时用到一个属性中
    TimeField 时间,参数同DateField
    DateTimeField 日期时间,参数同DateField
    FileField 上传文件字段
    ImageField 继承于FileField,对上传的内容进行校验,确保是有效的图片
    • 字段选项:

    选项默认值描述是否要迁移修改表结构
    null False True表示表字段允许为空
    unique False True表示表字段不能重复
    db_column 属性名称 表字段名称
    primary_key False True表示字段设置为了主键,一般作为AutoField的选项使用
    db_index False 创建索引
    default - 默认值
    blank False 在django管理后台新增或编辑一条表数据时,该字段是否允许为空;
    null是数据库范畴的概念,blank是表单验证范畴的
    choices - 在django管理后台新增或编辑一条表数据时,该字段显示为下拉框,默认为编辑框

     注意:

    choices和blank主要是为django的管理后台页面服务的。

    • choices: 性别属性使用了choices选项后,在录入一条数据时,会以下拉框显示
    • blank:blank属性默认值为false, 表示录入一条数据时,当前字段必须填写,不能为空,否则js端js校验不通过,例如:下图的comment员工备注信息字段。

    如下图:

     

    • 设置表名

    • 默认为:应用名小写_模型类名小写
    • 可通过通过Meta类指定表名

      示例:
    # 如果应用名为users,则默认表名为:users_department
    class Department(models.Model):
          ...
        class Meta:
            # 指定生成的数据库表的名字
            db_table = 'department'
  • 相关阅读:
    如何学习Java基础
    什么阻碍手动测试发挥价值
    API自动化测试指南
    筛选自动化测试用例的技巧
    拷贝HttpRequestBase对象
    测试自动化的边缘DevTestOps
    2019年浏览器市场份额排行榜
    CentOS7 通过 YUM 升级 VIM8
    vim配置go语法高亮
    打开程序总是会提示 "Enter password to unlock your login keyring"
  • 原文地址:https://www.cnblogs.com/chichung/p/9905340.html
Copyright © 2020-2023  润新知