CharField
class CharField(max_length=None[, **options])

# 字符串(存储从小到大各种长度)
# 如果是巨大的文本类型,可以用 TextField,该字段默认的表单样式是 TextInput,CharField 必须接收一个额外的参数: max_length,在数据库层和 Django 表单验证中起作用, 用来限定字段的长度
IntegerField
class IntegerField([**options])

# 整数(-2147483648 到 2147483648)
# 默认的表单输入工具是TextInput
FloatField
class FloatField([**options])

# 浮点数
# max_digits 总位数(不包括小数点和符号)
# decimal_places 小数位数
# 举例, 要保存最大值为 999 (小数点后保存2位),你要这样定义字段:
# models.FloatField(..., max_digits=5, decimal_places=2)
AutoField
class AutoField(**options)

# 根据实际 ID 自动增长的 IntegerField
# 添加记录时它会自动增长,你通常不需要直接使用这个字段
# 自定义一个主键:my_id=models.AutoField(primary_key=True),如果你不指定主键的话,系统会自动添加一个主键字段到你的 model.
BooleanField
class BooleanField(**options)

# true/false
# 此字段的默认表单挂件是一个 CheckboxInput,如果你需要设置 null 值,则使用 NullBooleanField 来代替 BooleanField。如果Field.default没有指定的话, BooleanField 的默认值是 None。
TextField
class TextField([**options])

# 大文本字段
# 该模型默认的表单组件是 Textarea
EmailField
class EmailField([max_length=254, **options])

# 带有检查 Email 合法性的 CharField
# 它使用 EmailValidator 来验证输入合法性
DateField
class DateField([auto_now=False, auto_now_add=False, **options])

# 日期字段
# Argument 描述
# auto_now 当对象被保存时,自动将该字段的值设置为当前时间,通常用于表示 "last-modified" 时间戳
# auto_now_add 当对象首次被创建时,自动将该字段的值设置为当前时间,通常用于表示对象创建时间
DateTimeField
class DateTimeField([auto_now=False, auto_now_add=False, **options])

# 日期时间字段
# 类似 DateField 支持同样的附加选项
ImageField
class ImageField([upload_to=None, height_field=None, width_field=None, max_length=100, **options])

# 类似 FileField, 不过要校验上传对象是否是一个合法图片
# 它有两个可选参数:height_field 和 width_field,如果提供这两个参数,则图片将按提供的高度和宽度规格保存
FileField
class FileField([upload_to=None, max_length=100, **options])

# 上传文件的字段
# 字段不支持 primary_key 和 unique 参数,如果使用会生成 TypeError 错误,在旧版本 Django 中,upload_to 属性是必须的
URLField
class URLField([max_length=200, **options])

# CharField 类型的 URL
# 若 verify_exists 参数为 True (默认), 给定的 URL 会预先检查是否存在( 即URL是否被有效装入且没有返回404响应)
SlugField
class SlugField([max_length=50, **options])

# 短标题
# 一个 slug 只能包含字母、数字、下划线或者是连字符,通常用来作为短标签,通常它们是用来放在URL里的。与 CharField 类似, 你可以指定max_length 的值,如果没有指定 max_length, Django 将会默认长度为 50
FilePathField
class FilePathField(path=None[, match=None, recursive=False, max_length=100, **options])

# 一个 CharField ,内容只限于文件系统内特定目录下的文件名
# 参数, 其中第一个是必需的:
# path 必填。这个 FilePathField 应该得到其选择的目录的绝对文件系统路径。例如: "/home/images"
# match 可选,match 只匹配基本文件名(base filename), 而不是整个文件路径(full path)
# recursive 可选,True/False,默认 False
# allow_files 可选,True/False,默认 False
# allow_folders 可选,True/False,默认 False
GenericIPAddressField
class GenericIPAddressField([protocol=both, unpack_ipv4=False, **options])

# IPv4 或 IPv6 地址, 字符串格式 (例如 192.0.2.30 或 2a02:42fe::4)
# 默认表单小部件是一个 TextInput
CommaSeparatedIntegerField
class CommaSeparatedIntegerField(max_length=None[, **options])

# 逗号分隔的整数字段
# 像 CharField 一样,需要一个 max_length 参数,同时数据库移植时也需要注意
BigIntegerField
class BigIntegerField([**options])

# 64 位整数
# 类似于一个 IntegerField,它的值的范围是 -9223372036854775808 到9223372036854775807 之间, 这个字段默认的表单组件是一个 TextInput
BinaryField
class BinaryField([**options])

# 存储原始二进制码
# 只支持 bytes 赋值,注意这个 Field 只有很有限的功能
PositiveIntegerField
class PositiveIntegerField([**options])

# 类似 IntegerField, 但值必须是正数或者零(0)
UUIDField
class UUIDField([**options])

# 存储 UUID
# 使用 Python 的 UUID 类。当使用 PostgreSQL 数据库时,该字段类型对应的数据库中的数据类型是 uuid,使用其他数据库时,数据库对应的是char(32) 类型。使用 UUID 类型相对于使用具有 primary_key 参数的AutoField 类型是一个更好的解决方案。 数据库不会自动生成 UUID,所以推荐使用 default 参数:
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)


参考文章:
1. https://www.cnblogs.com/laoguiaabb/p/8182906.html
2. https://my.oschina.net/liuyuantao/blog/751343

Django models 常用数据类型的更多相关文章

  1. Django Models的数据类型汇总

    https://blog.csdn.net/devil_2009/article/details/41735611 Django Models的数据类型 汇总 AutoField IntegerFie ...

  2. Django Models的数据类型

    Django中的页面管理后台 Djano中自带admin后台管理模块,可以通过web页面去管理,有点想php-admin,使用步骤: 在项目中models.py 中创建数据库表 class useri ...

  3. Django models 常用字段类型

    1.CharField字符串字段,存较短的字符串,长文本要用TextField.必须的参数:max_length 字符的最大长度2.TextField容量很大的文本字段.admin中用 <tex ...

  4. django Models 常用的字段和参数

    1.字段 CharField IntegerField floatField DateTimeField DateField DecimalField 2.参数 null default choice ...

  5. django models数据类型

    Django Models的数据类型 AutoField IntegerField BooleanField true/false CharField maxlength,必填 TextField C ...

  6. django 框架模型之models常用的Field

    1. django 模型models 常用字段          1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一 ...

  7. Django ORM 常用字段和参数

    Django ORM 常用字段和参数 一:常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. I ...

  8. Django - models.py 应用

    Django - models.py 应用 编写 models.py 文件 from django.db import models # Create your models here. class ...

  9. Django(ORM常用字段)

    day68 参考:http://www.cnblogs.com/liwenzhou/p/8688919.html 1. Django ORM常用字段:             1. AutoField ...

随机推荐

  1. python基础之Day6

    一.元组 定义:t=(1,2,3,4) 总结:存多个值,值为任意类型 只有读的需求,没有改的需求 有序,不可变(元组里每个值对应的索引内存地址不能变) 在元素个数相同的情况下,元组比列表更节省空间 二 ...

  2. unable to bind listening socket for address '127.0.0.1:9090': Address already in use (98)

    unable to bind listening socket for address '127.0.0.1:9090': Address already in use (98) php-fpm 启动 ...

  3. 如何将JetBrains IDE 光标由块变为 |

    1 设置中确认未勾选 2 安装了IdeaVim 插件,将其改为未选中状态,或者 ⌥ + ⌘ +  v 将其关闭

  4. SQLite3命令操作大全

    SQLite3命令操作大全 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令.本文档提供一个样使用sqlite3的简要说明. 一.ql ...

  5. web集成高德地图

    1.使用高德地图API需到官网添加一个Key,http://lbs.amap.com/dev/key/app 2.页面头引入 <div id="addressMap"> ...

  6. Python12/10--前端之display/overflow使用/清浮动的方式

    display: 1.inline 同行显示,当一行显示不下.多余的就会换行显示, 不支持的css样式:不支持宽高,不支持行高(行高会映射给父级) 不支持margin上下,content由 文本内容撑 ...

  7. ABP框架系列之十九:(Debugging-调试)

    While it's not generally needed, you may want to step into ABP's source code while you debugging you ...

  8. IntelliJ IDEA 2017版 spring-boot2.0.2 搭建 JPA springboot DataSource JPA sort排序方法使用方式, 添加关联表的 order by

    1.sort可以直接添加在命名格式的字段中 List<BomMain> findAllByDeleted(Integer deleted, Sort sort); 2.可以作为pageab ...

  9. 高效率php注意事项

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...

  10. ASP.NET MVC下使用AngularJs语言(四):$window.alert

    判断文本框是否有填写,没有填写使用angularjs的$window.alert来提示用户. 创建一个ASP.NET MVC控制器: 接下来是准备一个angularjs的控制器: pilotApp.c ...