Django中models的字段
常见的field类型:
1.AutoField
自增字段,它是一个根据ID自增长的IntegerField字段,通常不用自己设置,如果没有设置主键,django会自动添加它为主键字段
2.CharField(max_length=none[, **options])
一个字符串字段,必须有一个最大长度的参数,它作用于数据库层级和django数据验证层级。 django的管理后台用 单行输入框来表示它。
3.CommaSeparatedIntegerField(max_length=none[, **options])
用来存放以逗号间隔的整数序列,有必须的最大长度属性,考虑到数据库的移植性,max_length参数应该必选。
4.DateField([auto_now=False, auto_now_add=False, **options])
该字段利用python的datetime.date实例来表示日期,第一次保存对象时候,有auto_now参数自动保存当前时间,一般用来表示最后修改时间, auto_now_add在第一次创建对象时候django将该字段值自动设置为当前时间,用来表示对象创建时间。 django管理后台使用一个带有javascript日历的 来表示该字段,带有一个当前日期的快捷选择。
5.DateTimeField([auto_now=False, auto_now_add=False, **options])
该字段利用datetime.datetime实例来分表表示时间和日期,类似DateField。django后台使用2个来分别表示日期和时间,同样带有javascript快捷选项。
6.DecimalField(max_digits=None,decimal_places=None[, **options])
用decimal实例表示固定精度的十进制数的字段,有两个必须参数,max_digits数字允许的最大位数,decimal_places小数的最大位数。django后台用表示该字段, 通常用来表示金额
7.EmailField([maxlength=75, **options])
带有email合法性检测的一个CharField
8.FileField(upload_to=None[, max_length=100, **options])
文件上传字段,该字段不支持primary_key和unique参数,否则类型错误。有一个必须参数upload_to,用于保存文件的本地文件系统
9.FilePathField(path=None[, match=None, recursive=False, max_length=100, **options])
他是一个CharField,用来选择文件系统下某个目录里面的某些文件,它有三个专有参数,只有path是必须的。path是一个目录的绝对路径,match是一个正则表达式字符串,用来过滤文件名称;recursive为bool,指定是否包含path下的子目录。
10.BigIntegerField
64位的整型数值 (-2^63) – (2^63-1)
11.BinaryField
存储原始的2进制数据,功能有限,仅支持字节分配
12.BolleanField
布尔型和NullBooleanField有区别,true/false,本类型不允许出现null。
13.FloatField
与 python 里的 float 实例相同,django使用来表示它,虽然 FloatField 与 DecimalField 都是表示实数,但却是不同的表现形式,FloatField 用的是 python d float 类型,但是 DecimalField 用的却是 Decimal 类型。
14.ImageField([upload_to=None, height_field=None, width_field=None, max_length=100, **options])
继承了FileField的所有属性和方法。参数除upload_to外,还有height_field,width_field等属性。
15.IntegerField
[-2147483648,2147483647 ]的取值范围对Django所支持的数据库都是安全的。
16.IPAddressField
点分十进制表示的IP地址,如10.0.0.1
17.GenericIPAddressField
ip v4和ip v6地址表示,ipv6遵循RFC 4291section 2.2,
18.NullBooleanField
可以包含空值的布尔类型,相当于设置了null=True的BooleanField。
19.PositiveIntegerField
正整数或0类型,取值范围为[0 ,2147483647]
20.PositiveSmallIntegerField
正短整数或0类型,类似于PositiveIntegerField,取值范围依赖于数据库特性,[0 ,32767]的取值范围对Django所支持的数据库都是安全的。
21.SlugField
只能包含字母,数字,下划线和连字符的字符串,通常被用于URLs表示。可选参数max_length=50,prepopulate_from用于指示在admin表单中的可选值。db_index,默认为True。
22.SmallIntegerField
小整数字段,类似于IntegerField,取值范围依赖于数据库特性,[-32768 ,32767]的取值范围对Django所支持的数据库都是安全的。
23.TextField
文本类型
24.TimeField
时间,对应Python的datetime.time
25.URLField
存储URL的字符串,默认长度200;verify_exists(True),检查URL可用性。
————————————————
参考自:https://blog.csdn.net/weixin_39943442/article/details/113498783
Django中models的字段的更多相关文章
- Django中的常用字段类型与参数
Django中的常用字段类型 1. 数值型 以下都是数值相关的,比如AutoField,它在MySQL中的类型为int(11),而BooleanField在MySQL中对应的类型是tinyint(1) ...
- django中多个字段的模糊查询
django中多个字段的模糊查询 使用Entity.objects.filter(name_contains='kris').filter(address='beijing') 这个方法是指名字包含k ...
- django中models field详解
本文参考自:django官方文档models/field 在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field o ...
- django中models阅读笔记
一.使用数据库需要设置settings.py文件. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # Add 'postgre ...
- Django中models定义的choices字典使用get_FooName_display()在页面中显示值
问题 在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等等 看下例子: class Area(model ...
- Django中ORM常用字段及字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- django中models字段的联合限制
一.字段联合使用的限制设置: 有这么个需求,现有两个字段,A字段是选择用户是不是vip, B字段是统计用户的vip等级; 要求: 用户不是vip时,A选择false,B字段为空; 是vip时,A字段选 ...
- Django中ORM常用字段类型及参数
常用字段: <1> CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的 ...
- django 中models表的多对一,多对多的理解
django 表的理解 好处:设计的好,会清晰,易于理解和维护,后期开发事半功倍,一目了然. 1. 一对一的表,两表的属性实际上完全可以合并成一个表,共用一个主键即可: 2. 一对多的表,可以设中间关 ...
- django中models联合唯一unique_together
例: 文章点赞 class ArticleUpDown(models.Model): """ 点赞表 """ nid = models.Au ...
随机推荐
- MySQL事务(四大特性)-存储过程
目录 一:事务 1.四大特性(ACID) 2.事物存在的必要性(真实比喻) 3.如何使用事务 4.开启事务-回滚-确认 二:事务案例实战 1.模拟消费 2.创建 3.插入数据 4.开启事务 5.修改操 ...
- PRIx64:uint64_t类型输出为十六进制格式
#include <stdio.h> #include <stdint.h> #include <inttypes.h> int main(void) { uint ...
- screenfetch—最炫酷的查看你的设备信息
screenfetch是一个很方便的并且很炫酷的一个程序,它可以做到很炫酷的输出你想要看到的系统信息. 只需要短短一行命令,就可以快速的安装上它.! 并且可以直观的显示出来,当前设备的信息.
- [C++]模版特例化和模版偏特化
函数模版特例化 例子: //第一个版本;可以比较任意两个类型 template<typename T> int compare(const &T,const T&); // ...
- bugku-source-wp详解
bugku-source-wp详解 F12先看源代码 base64解码 提交flag 发现这个flag是假的 根据提示打开kali直接扫 命令:gobuster dir -u http://114.6 ...
- (一)Abp入门
ABP 是用于创建现代Web应用程序的完整体系结构和强大的基础架构,遵循最佳实践和约定,为 您提供 SOLID 开发经验. 目前 ABP 的版本 ASP.NET Boilerplate ASP.N ...
- Linux存储服务
存储服务 一.概述 存储:用于存放用户上传的内容(数据),一般应用在网站集群中 为什么要存储? 如果不使用存储,用户上传的数据就直接存放在某一台网站服务器上了,用户下次访问就可能找不到 如果使用存储, ...
- 开源分布式支持超大规模数据分析型数据仓库Apache Kylin实践-上
@ 目录 概述 定义 特性 术语 技术概念 架构和组件 生态圈 部署 Docker部署 基于hadoop环境安装 前置条件 安装 使用步骤 官方样例Cube说明 示例演示 准备演示数据 创建项目 选择 ...
- 一次生产环境CPU占用高的排查
1. 项目背景 甲方是保密级别非常高的政府部门.所以我们全程拿不到任何测试数据,只能是自己模拟数据进行测试. 项目部署的时候,公司派了一人到甲方现场,在甲方客户全程监督下,进行部署,调试,导入数据等工 ...
- 线程基础知识09-JAVA的可见性和有序性问题
1 CPU中的三级缓存及可见性问题 1.1 简介 1.2 缓存行Cacheline 1.3 可见性问题-缓存一致性协议 2 JAVA中的有序性问题 2.1 指令重排简介 2.2 as-if-seria ...