常见的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. 什么是Auth模块?(全面了解)

    目录 一:Auth模块 1.什么是Auth模块? 2.Auth模块作用 二:引入Auth模块 1.其实我们在创建好一个Django项目之后直接执行数据库迁移命令会自动生成很多表 2.django在启动 ...

  2. Jenkins&&gitlab

    DevOps 强调整个组织的合作以及交付和基础设施变更的自动化 gitlab下载: 下载地址: https://docs.gitlab.com/ee/install/requirements.html ...

  3. Window注册表的学习记录

    注册表的结构: 概述:注册表是一种树状结构,在很早之前是系统的其他配置信息存放的文件,通常以.ini结尾的文件,因为数量太多不方便管理,后来就整合在一起形成了注册表.你可以按住键盘win+r,然后输入 ...

  4. [ 赛后总结 ] CSP-J 2022

    前言 今年没考好,估分 100+60+0+10=170pts ,大概能混个2=,没什么用. 这下好了,期中也砸了,已经排到全校 30 开外了,果然鱼和熊掌不可兼得,况且我双双落空,接下来怕是想搞也搞不 ...

  5. CH334、CH335USB2.0Hub芯片(更新ing)

    USB HUB又称USB集线器,主要用于USB主机端口扩展,广泛应用于计算机,笔记本,及周边应用.CH334.CH335是符合 USB2.0 协议规范的高性能MTT 4 端口 USB2.0  HUB  ...

  6. java线程基础知识整理

    目录 线程基本概念 1.java实现线程 2.线程的生命周期 3.线程常用的方法 3.1.sleep() 3.2.interrupt方法 3.3.stop方法 4.线程调度 4.1.常见的线程调度模型 ...

  7. Vue 修改对象(数组)没有立即生效

    在写项目时遇到了给数组赋值后,出现赋值延时的问题,解决办法如下 // Vue 不能检测以下变动的数组: // 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = ne ...

  8. 【架构设计】你真的理解软件设计中的SOLID原则吗?

    前言 在软件架构设计领域,有一个大名鼎鼎的设计原则--SOLID原则,它是由由Robert C. Martin(也称为 Uncle Bob)提出的,指导我们写出可维护.可以测试.高扩展.高内聚.低耦合 ...

  9. 【RocketMQ】消息拉模式分析

    RocketMQ有两种获取消息的方式,分别为推模式和拉模式. 推模式 推模式在[RocketMQ]消息的拉取一文中已经讲过,虽然从名字上看起来是消息到达Broker后推送给消费者,实际上还是需要消费向 ...

  10. Ubuntu 22.04 安装 VMware Tools

    VM 下的 install VMWare Tools 终端下载 VMware Tools sudo apt install open-vm-tools-desktop -y reboot