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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
Python实现二叉搜索树
Feb 03 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
基于Python 的语音重采样函数解析
Jul 06 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 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
截获网站title标签之家内容的例子
2006/10/09 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
CI框架中zip类应用示例
2014/06/17 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
Python unittest单元测试框架总结
2018/09/08 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
Android面试题附答案
2014/12/08 面试题
报关专员求职信范文
2014/02/22 职场文书
会计岗位职责范本
2014/03/07 职场文书
六年级学生评语
2014/04/22 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
应届生简历自我评价
2015/03/11 职场文书
入党介绍人考察意见
2015/06/01 职场文书
人民的好儿女观后感
2015/06/18 职场文书
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL