常见的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的字段的更多相关文章

  1. Django中的常用字段类型与参数

    Django中的常用字段类型 1. 数值型 以下都是数值相关的,比如AutoField,它在MySQL中的类型为int(11),而BooleanField在MySQL中对应的类型是tinyint(1) ...

  2. django中多个字段的模糊查询

    django中多个字段的模糊查询 使用Entity.objects.filter(name_contains='kris').filter(address='beijing') 这个方法是指名字包含k ...

  3. django中models field详解

    本文参考自:django官方文档models/field 在model中添加字段的格式一般为:  field_name = field_type(**field_options) 一  field o ...

  4. django中models阅读笔记

    一.使用数据库需要设置settings.py文件. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # Add 'postgre ...

  5. Django中models定义的choices字典使用get_FooName_display()在页面中显示值

    问题 在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等等 看下例子: class Area(model ...

  6. Django中ORM常用字段及字段参数

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  7. django中models字段的联合限制

    一.字段联合使用的限制设置: 有这么个需求,现有两个字段,A字段是选择用户是不是vip, B字段是统计用户的vip等级; 要求: 用户不是vip时,A选择false,B字段为空; 是vip时,A字段选 ...

  8. Django中ORM常用字段类型及参数

    常用字段: <1> CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的 ...

  9. django 中models表的多对一,多对多的理解

    django 表的理解 好处:设计的好,会清晰,易于理解和维护,后期开发事半功倍,一目了然. 1. 一对一的表,两表的属性实际上完全可以合并成一个表,共用一个主键即可: 2. 一对多的表,可以设中间关 ...

  10. django中models联合唯一unique_together

    例: 文章点赞 class ArticleUpDown(models.Model): """ 点赞表 """ nid = models.Au ...

随机推荐

  1. MySQL事务(四大特性)-存储过程

    目录 一:事务 1.四大特性(ACID) 2.事物存在的必要性(真实比喻) 3.如何使用事务 4.开启事务-回滚-确认 二:事务案例实战 1.模拟消费 2.创建 3.插入数据 4.开启事务 5.修改操 ...

  2. PRIx64:uint64_t类型输出为十六进制格式

    #include <stdio.h> #include <stdint.h> #include <inttypes.h> int main(void) { uint ...

  3. screenfetch—最炫酷的查看你的设备信息

    screenfetch是一个很方便的并且很炫酷的一个程序,它可以做到很炫酷的输出你想要看到的系统信息. 只需要短短一行命令,就可以快速的安装上它.! 并且可以直观的显示出来,当前设备的信息.

  4. [C++]模版特例化和模版偏特化

    函数模版特例化 例子: //第一个版本;可以比较任意两个类型 template<typename T> int compare(const &T,const T&); // ...

  5. bugku-source-wp详解

    bugku-source-wp详解 F12先看源代码 base64解码 提交flag 发现这个flag是假的 根据提示打开kali直接扫 命令:gobuster dir -u http://114.6 ...

  6. (一)Abp入门

    ABP 是用于创建现代Web应用程序的完整体系结构和强大的基础架构,遵循最佳实践和约定,为 您提供 SOLID 开发经验. 目前 ABP 的版本   ASP.NET Boilerplate ASP.N ...

  7. Linux存储服务

    存储服务 一.概述 存储:用于存放用户上传的内容(数据),一般应用在网站集群中 为什么要存储? 如果不使用存储,用户上传的数据就直接存放在某一台网站服务器上了,用户下次访问就可能找不到 如果使用存储, ...

  8. 开源分布式支持超大规模数据分析型数据仓库Apache Kylin实践-上

    @ 目录 概述 定义 特性 术语 技术概念 架构和组件 生态圈 部署 Docker部署 基于hadoop环境安装 前置条件 安装 使用步骤 官方样例Cube说明 示例演示 准备演示数据 创建项目 选择 ...

  9. 一次生产环境CPU占用高的排查

    1. 项目背景 甲方是保密级别非常高的政府部门.所以我们全程拿不到任何测试数据,只能是自己模拟数据进行测试. 项目部署的时候,公司派了一人到甲方现场,在甲方客户全程监督下,进行部署,调试,导入数据等工 ...

  10. 线程基础知识09-JAVA的可见性和有序性问题

    1 CPU中的三级缓存及可见性问题 1.1 简介 1.2 缓存行Cacheline 1.3 可见性问题-缓存一致性协议 2 JAVA中的有序性问题 2.1 指令重排简介 2.2 as-if-seria ...