Django models 常用数据类型
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 常用数据类型的更多相关文章
- Django Models的数据类型汇总
https://blog.csdn.net/devil_2009/article/details/41735611 Django Models的数据类型 汇总 AutoField IntegerFie ...
- Django Models的数据类型
Django中的页面管理后台 Djano中自带admin后台管理模块,可以通过web页面去管理,有点想php-admin,使用步骤: 在项目中models.py 中创建数据库表 class useri ...
- Django models 常用字段类型
1.CharField字符串字段,存较短的字符串,长文本要用TextField.必须的参数:max_length 字符的最大长度2.TextField容量很大的文本字段.admin中用 <tex ...
- django Models 常用的字段和参数
1.字段 CharField IntegerField floatField DateTimeField DateField DecimalField 2.参数 null default choice ...
- django models数据类型
Django Models的数据类型 AutoField IntegerField BooleanField true/false CharField maxlength,必填 TextField C ...
- django 框架模型之models常用的Field
1. django 模型models 常用字段 1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一 ...
- Django ORM 常用字段和参数
Django ORM 常用字段和参数 一:常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. I ...
- Django - models.py 应用
Django - models.py 应用 编写 models.py 文件 from django.db import models # Create your models here. class ...
- Django(ORM常用字段)
day68 参考:http://www.cnblogs.com/liwenzhou/p/8688919.html 1. Django ORM常用字段: 1. AutoField ...
随机推荐
- [JAVA]JAVA章2 IOC与AOP是啥
使用Spring框架的过程中,其实就是为了使用IOC(依赖注入),和AOP(面向切面编程),这两个是Spring的灵魂. 主要用到的设计模式有工厂模式和代理模式. IOC就是典型的工厂模式,通过ses ...
- 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架
Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...
- windows 函数
数组清零 ::ZeroMemory(首地址,大小);
- 在IDEA中配置spring boot项目的热更新
在我使用IDEA的过程中,我发现Spring Boot项目本来自带的一个热部署工具无法使用,这里在参考各家博客后给出解决方案: 修改POM 首先POM文件需要包含spring boot的热部署工具,m ...
- 滑块视图容器 swiper
属性名 类型 默认值 说明 indicator-dots Boolean false 是否显示面板指示点 autoplay Boolean false 是否自动切换 current Number 0 ...
- MySQL导入SQL语句报错 : MySQL server has gone away (已解决)
MySQL server has gone away 解决的方法其实很简单,我相信也有很多人遇到了这个问题.比如DZ论坛,安装好服务器,但是清空缓存等操作数据库的动作,运行时间稍长就会出现 MySQL ...
- PLSQL基础学习-文字
--oracle 练习: /********************PL/SQL编程基础*******************************/ --firstday -->>&g ...
- We FALL ASleep At Night, We Do REST Right
We Do Sleep At Night, We Do REST Right 前言 REST 起源 REST 约束 客户端 - 服务端 无状态 缓存 统一接口 分层系统 按需代码 统一接口约束 资源识 ...
- k8s docker集群搭建
一.Kubernetes系列之介绍篇 •Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器 ...
- MFC 不同窗体之间变量调用
应用场景: (1)主对话框包含一个Tab控件,Tab控件用来切换显示若干子对话框,子对话框类的成员需要互相访问. (2)或者程序中包含多个类,各类之间需要互相访问. 方法1-定义指针成员变量: 详情参 ...