django models 类型整理 version:1.8.3


网上百度到的最上面的一篇已经是11年的了,django变化很大,现在把1.8.3版的models类型大致整理了下贴出来

普通键部分

Field Params in database attention
AutoField **options integer 在django代码内是自增
BooleanField **options boolean\bit  
BinaryField [**options] blob  
BigIntegerField [**options] integer 继承自Integer
CharField max_length=None[, **options] varchar  
CommaSeparatedIntegerField max_length=None[, **options]   继承自charField
DateField [auto_now=False, auto_now_add=False, **options] date auto_now最后修改记录的日期;auto_now_add添加记录的日期
DateTimeField [auto_now=False, auto_now_add=False, **options] datetime auto_now最后修改记录的日期;auto_now_add添加记录的日期,继承自DateField
DecimalField max_digits=None, decimal_places=None[, **options] decimal  
DurationField default=[,**options]   存储时间段,但是貌似django的开发团队还没有完善这个,有一些bug
EmailField [max_length=75, **options] varchar  
FileField update_to = None[, max_length=100, **options] varchar update_to 指定保存目录可带格式
FilePathField path=None[, match=None, recursive=False, max_length=100, **options] varchar  
FloatField [**options] real  
GenericIPAddressField [**options, unpack_ipv4=False, protocol=u’both’]    
ImageField upload_to=None[, height_field=None, width_field=None, max_length=100, **options] varchar  
IntegerField [**options] integer  
IPAddressField [**options] varchar  
ManyToManyField othermodel[, **options]    
NullBooleanField [**options]   bit字段上可以设置null值
PositiveIntegerField [**options] integer 继承自IntegerField
PositiveSmallIntegerField [**options] smallinteger  
URLField [verify_exists=True, max_length=200, **options] varchar  
UUIDField [verbose_name=None, **options]    
SlugField [max_length=50, **options] varchar 标签,内含索引
SmallIntegerField [**options] smallint 继承自IntegerField
TimeField [auto_now=False, auto_now_add=False, **options] time auto_now最后修改记录的日期;auto_now_add添加记录的日期
TextField [**options] text  
XMLField schema_path=None[, **options] text

外键部分:

Field Params attention
ForeignKey othermodel[, **options] 直接用model当做外键,默认是多对一的关系
ManyToManyField othermodel[, **options] 多对多,关联其它模型,创建关联表
OneToOneField othermodel[, parent_link=False, **options] 一对一,字段关联表属性

附options的部分:

  • verbose_name=None
  • name=None
  • primary_key=False
  • max_length=None
  • unique=False
  • blank=False
  • null=False
  • db_index=False
  • rel=None
  • default=<class django.db.models.fields.NOT_PROVIDED>
  • editable=False
  • serialize=True
  • unique_for_date=None
  • unique_for_month=None
  • unique_for_year=None
  • choices=None
  • help_text=u’’
  • db_column=None
  • db_tablespace=None
  • auto_created=False
  • validators=[]
  • error_messages=None

大量参考这篇文章

django models 类型整理 version:1.8.3的更多相关文章

  1. django models的点查询/跨表查询/双下划线查询

    django models 在日常的编程中,我们需要建立数据库模型 而往往会用到表与表之间的关系,这就比单表取数据要复杂一些 在多表之间发生关系的情形下,我们如何利用models提供的API的特性获得 ...

  2. Django - models.py 应用

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

  3. How to manage concurrency in Django models

    How to manage concurrency in Django models The days of desktop systems serving single users are long ...

  4. django models 数据库操作

    django models 数据库操作 创建模型 实例代码如下 from django.db import models class School(models.Model): pass class ...

  5. django models中的class meta

    Django models中的meta选项 通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model ...

  6. Django models 操作高级补充

    Django models 操作高级补充 字段参数补充: 外键 约束取消 ..... ORM中原生SQL写法: raw connection extra

  7. Django models Form model_form 关系及区别

    Django models Form model_form

  8. Django models .all .values .values_list 几种数据查询结果的对比

    Django models .all .values .values_list 几种数据查询结果的对比

  9. django models数据类型

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

随机推荐

  1. 远程复制 scp命令

    定义 本机为A,用户名为usera,登录远程主机B的为userb,IP为remote_ip 1. 从B 拷贝文件到A机器  用下面的命令 scp userb@remote_ip:remote_path ...

  2. centos搭建zabbix

    安装一些依赖包,不同情况缺的包不同 yum install mysql-devel curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd ph ...

  3. MyEclipse6.5安装SVN插件的三种方法

    MyEclipse6.5安装SVN插件的三种方法 方法一.如果可以上网可在线安装 1. 打开Myeclipse,在菜单栏中选择Help→Software Updates→Find and Instal ...

  4. Java所有编码问题参考手册

     一.编码基本知识 1.iso8859-1 ——属于单字节编码,最多能表示的字符范围是 0-255,应用于英文系列.比如,字母 'a' 的编码为0x61=97. 很明显,iso8859-1 编码表示的 ...

  5. NOI十连测 第四测 T2

    思路:线段树套可持久化treap,可持久化treap我还是第一次听说.. 改题的时候没看数据范围..乱开数组T_T #include<algorithm> #include<cstd ...

  6. QPainter就是手里的作图工具,只需要三洋东西:笔(颜色,宽度,样式),字体(写字),刷子(大面积作画),这里有三个典型例子

    设置笔和字体以后,就可以写字了: void MainWindow::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QPainter painter ...

  7. C# 语法技巧_三目运算_switch_case

    一.三目运算符 三目运算符的一种简便写法: bool b = str == "abc" ? false : true; 当是自身时,实际上别吝啬那一个括号,有一个括号,实际上更容易 ...

  8. c# 控制IE浏览器

    原文 http://www.cnblogs.com/love2wllw/archive/2010/05/19/1739327.html 想写一个桌面程序,用C#.程序运行后,会用IE打开指定的网页,并 ...

  9. linux 让root用户可以telnet

    haproxy01:/root# cat /etc/securetty console vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 ...

  10. 经验:Ubuntu 登陆 L2TP VPN

    Ubuntu Linux 操作系统默认支持PPTP协议的VPN登陆,但是随着网络环境的复杂化,我们需要使用L2TP协议的VPN登陆,下面,我们只需要简单的几条命令即可登陆L2TP协议的VPN.     ...