Django ORM 常用字段与不常用字段汇总


Posted in Python onAugust 09, 2019

常用字段

AutoField:

int 自增列,必须填入参数 primary_key=True

如果没有写 AutoField,则会自动创建一个列名为 id 的列

from django.db import models
 class Person(models.Model):
  id = models.AutoField(primary_key=True)  # 自增的 id 主键

CharField:

字符类型,必须提供 max_length 参数, max_length 表示最大字符长度

from django.db import models 
class Person(models.Model):
  id = models.AutoField(primary_key=True)  # 自增的 id 主键
  name = models.CharField(max_length=32)

IntegerField:

整数类型,范围在 -2147483648 到 2147483647

from django.db import models 
class Person(models.Model):
  id = models.AutoField(primary_key=True)  # 自增的 id 主键
  name = models.CharField(max_length=32)
  age = models.IntegerField()

DateField:

日期字段,日期格式 YYYY-MM-DD,相当于 Python 中的 datetime.date()

from django.db import models 
class Person(models.Model):
  id = models.AutoField(primary_key=True)  # 自增的 id 主键
  name = models.CharField(max_length=32)
  age = models.IntegerField()
  birthday = models.DateField(auto_now_add=True)

DatetimeField、DateField、TimeField 这三个时间字段,都可设置 auto_now_add、auto_now 属性

auto_now_add=True 的话,创建数据记录的时候会把当前时间赋给该字段

auto_now=True 的话,每次更新数据记录的时间会用来更新该字段

DateTimeField:

日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于 Python 中的 datetime.datetime()

执行命令:

manage.py@mysite2 > makemigrations app01
manage.py@mysite2 > migrate app01

去数据库中看一下

Django ORM 常用字段与不常用字段汇总

添加数据

Django ORM 常用字段与不常用字段汇总

只添加 name、age 字段

Django ORM 常用字段与不常用字段汇总

DateField 是添加这条数据的日期

不常用字段

BigAutoField(AutoField):

bigint 自增列,必须填入参数 primary_key=True

如果没有写自增列,则会自动创建一个列名为 id 的列

SmallIntegerField(IntegerField):

短整型,-32768 到 32767

PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField):

正短整型,0 到 32767

IntegerField(Field):

有符号的整数列,-2147483648 到 2147483647

PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField):

正整数,0 到 2147483647

BigIntegerField(IntegerField):

有符号的长整型,-9223372036854775808 到 9223372036854775807

BooleanField(Field):

布尔值类型

NullBooleanField(Field):

可以为空的布尔值

TextField(Field):

文本类型

EmailField(CharField):

字符串类型,Django Admin 以及 ModelForm 中提供验证机制

IPAddressField(Field):

字符串类型,Django Admin 以及 ModelForm 中提供验证 IPV4 机制

GenericIPAddressField(Field):

字符串类型,Django Admin 以及 ModelForm 中提供验证 Ipv4 和 Ipv6

参数:protocol,用于指定 Ipv4 或 Ipv6, 'both',"ipv4","ipv6";unpack_ipv4,如果指定为 True,则输入 ::ffff:192.0.2.1 的时候,可解析为 192.0.2.1,开启此功能,需要 protocol="both"

URLField(CharField):

字符串类型,Django Admin 以及 ModelForm 中提供验证 URL

SlugField(CharField):

字符串类型,Django Admin 以及 ModelForm 中提供验证支持 字母、数字、下划线、连接符(减号)

CommaSeparatedIntegerField(CharField):

字符串类型,格式必须为逗号分割的数字

UUIDField(Field):

字符串类型,Django Admin 以及 ModelForm 中提供对 UUID 格式的验证

TimeField(DateTimeCheckMixin, Field):

时间格式,HH:MM[:ss[.uuuuuu]]

DurationField(Field):

长整数,时间间隔,数据库中按照 bigint 存储,ORM 中获取的值为 datetime.timedelta 类型

FloatField(Field):

浮点型

DecimalField(Field):

10进制小数

参数:max_digits,小数总长度;decimal_places,小数位长度

BinaryField(Field):

二进制类型

FilePathField(Field):

字符串,Django Admin 以及 ModelForm 中提供读取文件夹下文件的功能

参数:path,文件夹路径;match=None,正则匹配;recursive=False,递归下面的文件夹;allow_files=True,允许文件;allow_folders=False,允许文件夹

FileField(Field):

字符串,路径保存在数据库,文件上传到指定目录

参数:upload_to="",上传文件的保存路径;storage=None,存储组件,默认 django.core.files.storage.FileSystemStorage

ImageField(FileField):

字符串,路径保存在数据库,文件上传到指定目录

参数:upload_to="",上传文件的保存路径;storage=None 存储组件,默认 django.core.files.storage.FileSystemStorage;width_field=None,上传图片的高度保存的数据库字段名(字符串);height_field=None,上传图片的宽度保存的数据库字段名(字符串)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python对字典进行排序实例
Sep 25 Python
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
python判断字符串是否包含子字符串的方法
Mar 24 Python
基于python实现微信模板消息
Dec 21 Python
python实现按任意键继续执行程序
Dec 30 Python
python 设置文件编码格式的实现方法
Dec 21 Python
详解基于django实现的webssh简单例子
Jul 17 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
flask框架url与重定向操作实例详解
Jan 25 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
python实现斗地主分牌洗牌
Jun 22 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 Python
详解如何减少python内存的消耗
Aug 09 #Python
Django命名URL和反向解析URL实现解析
Aug 09 #Python
利用python list完成最简单的DB连接池方法
Aug 09 #Python
python使用requests.session模拟登录
Aug 09 #Python
如何在Cloud Studio上执行Python代码?
Aug 09 #Python
python切片(获取一个子列表(数组))详解
Aug 09 #Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 #Python
You might like
用PHP实现文件上传二法
2006/10/09 PHP
PHP调用三种数据库的方法(1)
2006/10/09 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python算术运算符实例详解
2017/05/31 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
使用Python函数进行模块化的实现
2019/11/15 Python
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
客户经理岗位职责
2013/12/08 职场文书
暑期社会实践学生的自我评价
2014/01/09 职场文书
关于逃课的检讨书
2014/01/23 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
党员组织关系介绍信
2014/02/13 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
投标承诺函格式
2015/01/21 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
职工宿舍管理制度
2015/08/05 职场文书
放假通知怎么写
2015/08/18 职场文书
听课评课活动心得体会
2016/01/15 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫