Django Choices选择类型
Django里有一个Choices类,相关官方文档见此处。
说明
从实现方式来说,这是一个继承方法,继承django.db.models.Choices,实现的效果接近枚举类型(Enumeration types)或者字典。
我使用此种方法的目的是,部分不会变动的,带有选项性质的小规模数据,可以不用放在数据库中实现持久化。(这以设计后,修改就要从代码层次进行变动)
Choices有主要2种用法,我这里主要陈述带有models.Choices多继承的类型。
class Level(models.IntegerChoices, models.Choices):"""安全级别安全级别相关内容{"RECORDS": [{"level_id": "1","description": "基础定义级"},{"level_id": "2","description": "增强控制级"},{"level_id": "3","description": "持续优化级"},{"level_id": "4","description": "量化完善级"}]}Special:name: DTlabel: '数据服务安全'value: 1"""LEVEL_1 = 1, '基础定义级'LEVEL_2 = 2, '增强控制级'LEVEL_3 = 3, '持续优化级'LEVEL_4 = 4, '量化完善级'
使用
在与他人传递数据时,就可以不用传递彼此约定的文字,直接传递id就可以了
如在JSON传递时,传递参数为{“level_id”: "2"}
print(Level(int(level_id)).label)
# "增强控制级"
Django Choices选择类型相关推荐
- 5 select 选择的值_表单元素之选择类型
表单元素的选择类型可以分为三种: 单选 多选 下拉 单选和复选框的属性值可以有两个:disabled(不可操作的) 和 checked. 下拉框的属性值可以是:selected(默认选中) .mult ...
- Django创建数据库(Django数据库字段类型)
创建默认数据库 项目中数据库的配置在 你的项目/settings.py 中 DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3 ...
- define定义的是什么类型_为什么Django 3后建议使用Field.choices枚举类型定义choices选项...
Django 3.0的主要新增功能之一是对模型字段选择的枚举.它是一种定义和约束模型Field.choices的更好方法. 以前在Django模型中通常会通过定义一些"常量"和元组 ...
- Django model 字段类型及选项解析(一)
字段类型选择:AutoField(Field)- int自增列,必须填入参数 primary_key=TrueBigAutoField(AutoField)- bigint自增列,必须填入参数 pri ...
- Django 模型 —— 字段类型
模型字段参考 本文档包含 Field 类的所有 API 参考,包括 字段操作 和 字段类型. 参见 若内置字段未满足需求,你可以试试 django-localflavor (文档),它包含了针对各别国 ...
- erp系统的选择类型
大家都知道,不同领域.不同行业的公司所运用的ERP管理系统类型是不一样的.特别是在不同的软件开发服务商在发展对策不同的状况下,对ERP系统开发的着重点也会有较大的区别.比如有对针对公司某一类管理需求定 ...
- Django choices参数
只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数 """ class User(models.Model):username = model ...
- django数据库字段类型
字段类型 字段类型指使用Django ORM创建数据库时支持的数据字段类型. 常用字段 (1) AutoField 自增的整型字段,必填参数primary_key=True,则成为数据库的主键,无该字 ...
- Django中datetime类型的相关操作(记录一下)
1.首先,如果从表单POST请求过来的时候,提交了一个日期的数据,其中是带时分秒的,通过代码获取之后是str类型的话,要转成datetime类型,可以使用python自带的datetime库,具体代码 ...
最新文章
- .Net使用SignalR实现消息推送功能预研及Demo
- 请简述一下线程的sleep()方法和yield()方法的区别?
- Boost:基于Boost的一个微小的actor框架
- C# 如何生成一个时间戳
- IOS学习笔记十八(copy、mutableCopy、NSCopying、NSMutableCopy、深复制、浅复制)
- windows.h有哪些函数
- 【渝粤教育】电大中专中医基础知识 (2)作业 题库
- expected function body after function declarator
- 程序包android.support.annotation不存在_efcore技巧贴也许有你不知道的使用技巧
- [转] 寻找第k大的数
- mysql协议分析1,MySQL协议分析(1)
- 视频去模糊论文阅读-Cascaded Deep Video Deblurring Using Temporal Sharpness Prior
- access查找楼号为01_2015年计算机二级考试Access每日一练(9月19日)
- 获取微信小程序二维码后返回一堆乱码
- 洛谷刷题记录(python)【入门6】函数与结构体
- 少吃盐,一定要少吃盐!
- [Linux] emacs简介
- android 来电显示号码,android监控来电显示
- [创新实践] SLAM简介
- PDF文件可以修改吗?来看看这几种方法
热门文章
- 一个清华大学生几天猎头生活的感想!
- 大连装修设计师 大连家装设计师 大连全屋定制设计师 大连独立设计师
- 移动带来的创业红利正在消退,或许你应该试试“泛SaaS”新模式
- do msgbox loop_西门子数字量DO扩展模块SM1222
- 西门子PLC与触摸屏通讯通信干扰的处理方法
- 3A信用等级证书的应用有哪些
- 小米8A是多少Android系统,国内首家 小米8 SE已率先开始测试Android Q系统
- Ubuntu14.04安装wineqq国际版出现无法输入中文的解决方法
- win10打开软件显示c盘服务器,教你修复win10系统打开C盘发现一个program Files文件夹的方案...
- 关于“7个好习惯”的简单概述