常见的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. 在Windows服务器安装禅道

    1.服务器上 浏览器打开禅道官网:https://www.zentao.net/ 2.下载禅道版本,这里安装的是开源版 3.下载完成之后,一键安装 安装完成之后,即可访问:

  2. CFS三层内网靶场

    前言 最近学习了内网的一些知识,想着打一下靶场来试试,选择了这个CFS的三层内网靶场,做一下记录 靶场下载地址   链接:https://pan.baidu.com/s/1zGw5VNt222nCmf ...

  3. Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算

    摘要:北京时间2023年1月9日,Volcano社区v1.7.0版本正式发布. 本文分享自华为云社区<Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算>,作者:华为云云 ...

  4. 使用阿里云产品搭建PHPWIND

    2.4 安装PhpWind论坛网站 1.     本小节主要是在ECS云主机中快速安装PhpWind论坛网站的基础环境. 2.     远程登录到 PhpWind 主机服务器 ECS实例.请使用本实验 ...

  5. Echarts自适应屏幕,无需刷新网页,可根据屏幕大小完美展现,内有详细代码注释,我可真是个小机灵~~O(∩_∩)O哈哈~

    Echarts自适应屏幕,无需刷新网页,可根据屏幕大小完美展现 效果如图 随意拖拉,无惧检验 ~ ~ ~ ~ 下面上代码 里边有详细解释 <template> <div class= ...

  6. Linux几种网络模式介绍

    简单介绍Linux几种网络模式 ​ 虚拟化层次: ​ 打开vmware虚拟机,我们可以在选项栏的"编辑"下的"虚拟网络编辑器"中看到VMnet0(桥接模式).V ...

  7. springBoot简单记录日志

    记录日志的几种方法 springboot项目内置日志框架 在配置文件中添加以下配置: logging: file: name: "./log/xxx.log" pattern: f ...

  8. Monkey 命令

    1) 参数:  -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App).指定 包之后,Monkey将只允许系统启动指定的APP.如果不指定包,Monkey将允许系统启动设备中 ...

  9. Vue13 样式动态绑定

    1 class样式的动态绑定 1.1 说明 通过命令v-bind:class设置一个对象,动态切换class.可以简写为:class. class=""可以和:class=&quo ...

  10. visual studio(vs2017、vs2019)离线安装包下载、制作

    一.下载安装引导程序(以vs-professional-2019为例) https://aka.ms/vs/16/release/vs_professional.exe 二.在引导程序目录打开cmd命 ...