【Django-02】 Model模型和模型描述对象Meta
Model和Meta
- 概念
- Model
- Meta
- Model支持的字段类型
- Meta 属性
- 例子
概念
就是对象的意思,底层一个Model对应一张表,而Meta是Model的内部类,是用来描述Model和数据库表的相关元数据信息,比如主键,排序,unique_key 的。
也不是啥新鲜的概念。
Model
所有自定义的模型都要继承django.db.models
Meta
Meta是你定义的模型的内部类,没啥稀奇的。
Model支持的字段类型
为了方便。Model到数据库都定义好了字段类型,这算是一种映射概念,也没啥稀奇的。
AutoField: 自增id
VooleanField: true/false 数据库存的是数字,模型映射为True/False
CharField: varchar类型
DateField:Date 日期【2023-10-01】
DateTimeField: 日期时间【2023-10-01 23:10:33】
IntergerField: int
TextField: 对应数据库text
TimeField:对应数据库Time [23:12:10]
FloatField: 对应数据库Double
FileField: 对应数据库varChar
ImageField:对应数据库varChar
DecumalField:对应数据库Decimal
Meta 属性
db_table: 值类型字符串->对应生成的数据库表名
manager:值类型 boolean ->是否还由Django管理生命周期
ordering: 值类型 列表->排序,字段前加’-’ 表示降序
index_together:值类型列表中放元组,表示唯一键
unique_together:值类型列表中放元组,表示唯一键
例子
class DwDatabaseAssetItemPwMap(models.Model):id = models.CharField(primary_key=True)asset_item_id = models.IntegerField('资产项id')asset_item_name = models.CharField('资产项名称', max_length=128, blank=True, null=True)name = models.CharField('服务器名', max_length=255)instance_id = models.CharField('实例id', max_length=128, blank=True, null=True)region = models.CharField('区域', max_length=255, blank=True, null=True)dw_server_id = models.IntegerField('dw服务器id')project = models.ForeignKey(Project, on_delete=models.CASCADE, verbose_name='项目')public_ip = models.CharField('公网ip', max_length=255, blank=True, null=True)local_ip = models.CharField('内网ip', max_length=255, blank=True, null=True)port = models.IntegerField('端口')asset_item_pw_id = models.IntegerField('密码id', null=True)username = models.CharField('账号', max_length=99)password = AesEncryptedCharField(verbose_name='密码', max_length=255)asset_id = models.IntegerField('资产项id', null=True)class Meta:app_label = 'test_table'managed = Falsedb_table = 'dw_sink_database_asset_item_pw_map'unique_together = (('asset_item_id', 'dw_server_id', 'asset_item_pw_id',))
相关文章:
【Django-02】 Model模型和模型描述对象Meta
Model和Meta 概念ModelMetaModel支持的字段类型Meta 属性例子 概念 就是对象的意思,底层一个Model对应一张表,而Meta是Model的内部类,是用来描述Model和数据库表的相关元数据信息,比如主键,排序,unique_ke…...
【华为OD题库-030】阿里巴巴找黄金宝箱(V)-java
题目 一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0-N的箱子,每个箱子上面贴有一个数字.阿里巴巴念出一个咒语数字k(k<N),找出连续k个宝箱数字和的最大值,并输出该最大值。 输入描述 第…...
centos7卸载mongodb数据重新安装时无法安装的问题
如果卸载不干净直接用 sudo find / -name mongo 查询所有关于mongo的文件,然后一个个去删除。 当然最好的办法还是去看日志信息。 直接去查看日志信息 sudo cat /var/log/mongodb/mongod.log 根据提示信息说这个没有权限操作 直接删除即可,都是之前…...
ES6 的 class 类和Typescript 的 class 类的区别
前言 为什么要理解ES6的类和TS类的区别: 都是面向对象的开发它们看着很像但是它们不一样学习明白了,避免混用 ES6 类是 JavaScript 中基于原型的面向对象编程的语法糖,而 TypeScript 类在此基础上增加了强类型检查和其他面向对象编程的特性…...
Android 12.0 默认授予应用权限
Android 12.0 默认授予应用权限 最近接到客户需求提到每当首次点开某个应用时都会弹出申请权限的弹窗,操作起来感觉很麻烦,需要将指定的这个应用默认授予权限,具体修改参照如下: frameworks/base/services/core/java/com/androi…...
Google Earth Engine(GEE)——多源遥感变量筛选(PCA主成分分析),变量筛选/降维处理
简介 很多时候我们需要进行数据的将为和筛选,传统的方法我们可以根绝经验方法进行筛选或者按照变量重要性和相关性进行分析,当然我们可以通过计算多个变量之间的主成分分析来进行变量的筛选,本文已森林生物量分析作为自变量,其它多源遥感变量作为相关性因变量,进行分类对…...
爬虫的http和https基础
HTTP响应状态码响应状态码 下面来看下详细的状态码数值和说明: 200系列: 200 OK:这个是最常见的,也是爬虫工程师最喜欢的,代表你本次的请求顺利拿到了响应,没有任何问题 201 Created:201代表…...
读像火箭科学家一样思考笔记05_思想实验
1. 思想实验室 1.1. 思想实验至少可以追溯到古希腊时期 1.1.1. 从那时起,它们就跨越各个学科,在哲学、物理学、生物学、经济学等领域取得重大突破 1.1.2. 它们为火箭提供动力,推翻政府,发展进化生物学,解开宇宙的奥…...
mac gitee新建工程遇到的一些问题
首先,记录一下mac系统显示隐藏文件夹的快捷键:commandshift句号,可以显示工程目录下的隐藏的git文件夹 一 git报错:‘origin‘does not appear to be a git repository的解决方法 找到工程目录下的.git/config文件发现里边没有remote orig…...
某60区块链安全之Call函数簇滥用实战一学习记录
区块链安全 文章目录 区块链安全Call函数簇滥用实战一实验目的实验环境实验原理实验内容实验过程 Call函数簇滥用实战一 实验目的 学会使用python3的web3模块 学会以太坊Delegatecall漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 call 外部调用…...
最新AIGC创作系统ChatGPT系统源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图,图片对话理解功能
一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...
openssl+ SM2 + linux 签名开发实例(C++)
文章目录 一、SM2 签名理论基础二、SM2签名开发实例 一、SM2 签名理论基础 SM2是中国国家密码管理局发布的椭圆曲线密码算法标准,用于数字签名、密钥交换和公钥加密等安全通信场景。以下是SM2签名的理论基础相关知识点: 椭圆曲线密码学(Elli…...
U4_1:图论之DFS/BFS/TS/Scc
文章目录 一、图的基本概念二、广度优先搜索(BFS)记录伪代码时间复杂度流程应用 三、深度优先搜索(DFS)记录伪代码时间复杂度流程时间戳结构BFS和DFS比较 四、拓扑排序一些概念有向图作用拓扑排序 分析伪代码时间复杂度彩蛋 五、强…...
STM32框架之按键扫描新思路
STM32框架之按键扫描新思路 引入代码展示思路分析 我们学习了定时器实现毫秒级/秒级任务框架,这期我们基于任务框架学习按键扫描新思路。 引入 在按键扫描的过程中,最重要的一步就是按键消抖,解决的方法最简单粗暴的就是先扫描一次按键状态&…...
完美解决k8s master节点无法ping node节点中的IP或Service NodePort的IP
1、问题一 使用搭建好了K8S集群,先是node节点加入k8s集群时,用的内网IP,导致master节点无法操作node节点中的pod(这里的不能操作,指定是无法查看node节点中pod的日志、启动描述、无法进入pod内部,即 kubec…...
弗洛伊德算法(C++)
目录 介绍: 代码: 结果: 介绍: 弗洛伊德算法(Floyd algorithm)也称为Floyd-Warshall算法,是一种用于求解所有节点对之间的最短路径的动态规划算法。它使用了一个二维数组来存储所有节点…...
相对定位、绝对定位、固定定位、绝对定位堆叠顺序
相对定位:相对自己本身进行偏移 CSS语法: position: relative;/*相对自己进行定位*/ top: 10px;/*距离上边*/ left: 10px;/*距离左边*/ 演示图: 绝对定位:默认以浏览器进行定位。如果想依照父盒子定位,需要在父盒子…...
px4+vio实现无人机室内定位
文章主要讲述px4 如何利用vins_fusion里程计数据实现在室内定位功能。 文章基于以下软、硬件展开。 硬件软件机载电脑: Intel NUC系统:Ubuntu 20.04相机: Intel Realsense D435iros:noetic飞控:Pixhawk 2.4.8固件&am…...
享元模式 rust和java的实现
文章目录 享元模式介绍实现javarust实现代码 rust仓库rust仓库 享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应…...
XmlElement注解在Java的数组属性上,以产生多个相同的XML元素
例如,下面这段XML数据,有多个data元素,并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
Vue 3 + WebSocket 实战:公司通知实时推送功能详解
📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...
