from django.db import models
# Create your models here.
class Department(models.Model):    # 以后可以新增,删除,修改,所以单独拿出来
    """ 部门表 """
    title = models.CharField(verbose_name='标题', max_length=32)
    def __str__(self):  # 原来是对象,用来定义我们想返回的值
        return self.title
class UserInfo(models.Model):
    """ 员工表 """
    name = models.CharField(verbose_name="姓名", max_length=16)
    password = models.CharField(verbose_name="密码", max_length=64)
    age = models.IntegerField(verbose_name="年龄")
    account = models.DecimalField(
        verbose_name="账户余额", max_digits=10, decimal_places=2, default=0)
    # create_time = models.DateTimeField(verbose_name="入职时间")  # 年月日,时分秒
    create_time = models.DateField(verbose_name="入职时间")  # 年月日
    # 1.无约束
    # depart_id = models.BigIntegerField(verbose_name="部门ID")
    # 有约束
    # - to ,与那章表关联
    # - to_field ,表中的那一列关联
    # 2.django自动
    #  - 写的depart
    #  - 生成数据列 depart_id
    # 3.部门表被删除
    # ### 3.1级联删除      on_delete=models.CASCADE 级联删除
    depart = models.ForeignKey(verbose_name="部门",
                               to="Department", to_field="id", on_delete=models.CASCADE)
    # ### 3.2置空
    # null=True, blank=True, 这一列允许为空     on_delete=models.SET_NULL 置空
    # depart = models.ForeignKey(
    # to="Department", to_field="id", null=True, blank=True, on_delete=models.SET_NULL)
    # 在 django中的约束
    gender_choices = (
        (1, "男"),
        (2, "女"),
    )
    gender = models.SmallIntegerField(
        verbose_name="性别", choices=gender_choices)
    # level_choices = (
    #     (1, "1级"),
    #     (2, "2级"),
    #     (3, "3级"),
    #     (4, "4级"),
    # )
    # # SmallIntegerField 小整形(小整数) default=1 默认是1
    # level = models.SmallIntegerField(
    #     verbose_name="级别", choices=level_choices, default=1)
class PrettyNum(models.Model):
    """ 靓号管理 """
    # CharField 存储为字符串类型 必须设置长度,校验,re,收索
    mobile = models.CharField(
        verbose_name="手机号", max_length=11)
    # IntegerField 整数 不用设置长度
    # 想要允许为空 null=True,blank=True
    price = models.IntegerField(verbose_name="价格")
    levels_choices = (
        (1, "1级"),
        (2, "2级"),
        (3, "3级"),
        (4, "4级"),
    )
    # SmallIntegerField 小整形(小整数) default=1 默认是1
    levels = models.SmallIntegerField(
        verbose_name="级别", choices=levels_choices, default=1)
    status_choices = (
        (1, "已占用"),
        (2, "未占用"),
    )
    status = models.SmallIntegerField(
        verbose_name="状态", choices=status_choices, default=2)

Django models.py 表的参数选择的更多相关文章

  1. Django - models.py 应用

    Django - models.py 应用 编写 models.py 文件 from django.db import models # Create your models here. class ...

  2. Django models多表操作

    title: Django models多表操作 tags: Django --- 多表操作 单独创建第三张表的情况 推荐使用的是使用values/value_list,selet_related的方 ...

  3. django models.py增加后MySQL数据库中并没有生成相应的表

    根据教程到添加并保存quest的时候报错了 1.models.py里面的命名没有错 2.查看mysite->settiongs下的INSTALLED_APPS设置正确 3.使用python ma ...

  4. Django models 单表查询

    从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet 1. 查看Django QuerySet执行的SQL .query.__str__()或 .query属性打印执行的sql语句 ...

  5. Django model.py表单的默认值 默认允许为空

    Field.null 默认是null=False,这时不能传入NULL型数据,但是可以是空字符. 如果BooleanField中想要null数据类型,可以选择NullBooleanField   Fi ...

  6. Django model.py表单设置默认值允许为空

    blank=True 默认值为blank=Flase,表示默认不允许为空, blank=True admin级别可以为空   null=True 默认值为null=Flase,表示默认不允许为空 nu ...

  7. Django models.py创建数据库

    创建完后初始化数据库 在命令行里输入: 回车后出现 继续命令行输入:

  8. 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

  9. 四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

  10. 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

随机推荐

  1. 使用linux的ffmpeg进行B站直播推流

    很久之前买了个友善的开发板R2S,一直在家吃灰.最近看到网上有用ffmpeg进行直播推流的案例,想把吃灰的的开发板利用起来,于是有了这篇教程. 第一步:安装ffmpeg sudo apt update ...

  2. python 爬虫可视化,天气

    网站地址='https://lishi.tianqi.com/chengdu/201704' import matplotlib.pyplot as plt import requests from ...

  3. WireShark抓包入门教学

    wireshark抓包新手使用教程 Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息.常用于开发测试过程各种问题定位.本文主要内容包括: 1.Wiresha ...

  4. All in one入门之All in one和三种PVE、ESXI、Windows Server方案

    前言 All in one 前段时间,在某多多上花了446大洋弄了一台J4125准系统小主机,再花了一点钱买个杂牌msata和"全新"三星内存条,入坑了All in one. Al ...

  5. 【运维笔录】局域网实现项目的CI/CD,Docker+Gitea+Drone搭建轻量级自动化部署平台

    一.安装Docker 1.1 安装excpet $ apt-get -f install expect 1.2 编写执行Docker安装脚本 编写docker_dep.exp脚本 #!/usr/bin ...

  6. ffmpeg常用操作

    音频常用操作 常见的ffmpeg音频参数 常用参数解释: - i 表示input,即输入文件 - f 表示format,即输出格式 - vn 表示vedio not,即输出不包含视频 - ar 设定采 ...

  7. 上古神兵,先天至宝,Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境(2023最新攻略)

    毫无疑问,我们生活在编辑器的最好年代,Vim是仅在Vi之下的神级编辑器,而脱胎于Vim的NeoVim则是这个时代最好的编辑器,没有之一.异步支持.更好的内存管理.更快的渲染速度.更多的编辑命令,是大神 ...

  8. Java基础1-1-1—java基础语法(数据类型及转换)

    JAVA基础 1.数据类型及转换 1.1 注释 注释是在程序指定位置添加的说明性信息 简单理解:对代码的一种解释说明,方便我们程序员更好的去阅读代码 // 单行注释 /* 多行注释 */ /**文档注 ...

  9. java跨域问题解决

    问题描述:在使用前后端分离的情况下,前端访问后端时会出现跨域问题 解决方式: 1.设置跨域 1).单个控制器方法CORS注解 在单个方法中加入注解@CrossOrigin. 2).整个控制器启用COR ...

  10. 1月9日内容总结——linux相关知识简介、虚拟化软件vmware、远程链接工具xshell

    目录 一.linux常见岗位 二.计算机的种类与服务器 三.服务器品牌 四.服务器内部组成 五.服务器磁盘阵列 六.linux简介 1.什么是linux 2.linux发展史 3.Linux系统的特点 ...