day68

参考:http://www.cnblogs.com/liwenzhou/p/8688919.html

1. Django ORM常用字段:
            1. AutoField       --> 自增
            2. CharField       --> varchar(xx)
            3. ForeignKey      --> 外键
            4. ManyToManyField --> 多对多关联
            
            5. DateField
            6. DateTimeField
            
            7. IntegerField

2. 自定义char字段
            class FixedCharField(models.Field):
                """
                自定义的char类型的字段类
                """
                def __init__(self, max_length, *args, **kwargs):
                    self.max_length = max_length
                    super(FixedCharField, self).__init__(max_length=max_length, *args, **kwargs)
 
                def db_type(self, connection):
                    """
                    限定生成数据库表的字段类型为char,长度为max_length指定的值
                    """
                    return 'char(%s)' % self.max_length
 
3. 常用的字段参数
            1. null
            2. default
            3. unique
            4. db_index
            
            5. DateField和DateTimeField才有的参数:
                auto_now_add=True     --> 创建数据的时候自动把当前时间赋值
                auto_add=True         --> 每次更新数据的时候更新当前时间
                
                上述两个不能同时设置!!!
            
            5. class Meta:
                 db_table = "表名"

Django ORM 常用字段和参数

常用字段

AutoField

int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。

IntegerField

一个整数类型,范围在 -2147483648 to 2147483647。

CharField

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

DateField

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

DateTimeField

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

时间字段独有

DatetimeField、DateField、TimeField这个三个时间字段,都可以设置如下属性。

auto_now_add

配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。

auto_now

配置上auto_now=True,每次更新数据记录的时候会更新该字段

实践

字段参数

null

用于表示某个字段可以为空。

unique

如果设置为unique=True 则该字段在此表中必须是唯一的 。

db_index

如果db_index=True 则代表着为此字段设置数据库索引。

default

为该字段设置默认值。

元信息

ORM对应的类里面包含另一个Meta类,而Meta类封装了一些数据库的信息。主要字段如下:

db_table

ORM在数据库中的表名默认是 app_类名,可以通过db_table可以重写表名

index_together

联合索引。

unique_together

联合唯一索引。

ordering

指定默认按什么字段排序。

只有设置了该属性,我们查询到的结果才可以被reverse()。

转载于:https://www.cnblogs.com/112358nizhipeng/p/10443220.html

Django(ORM常用字段)相关推荐

  1. Django中ORM常用字段类型及参数

    常用字段: <1> CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的 ...

  2. Django --ORM常用的字段和参数 多对多创建形式

    1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...

  3. django orm 常用查询筛选

    大于.大于等于 __gt 大于 __gte 大于等于User.objects.filter(age__gt=10) // 查询年龄大于10岁的用户 User.objects.filter(age__g ...

  4. Django ORM 常用的查询方法

    1.exact(SQl精确查找 =/is) class Article(models.Model):title = models.CharField(max_length=200)content = ...

  5. Django 数据库常用字段类型

    数值型 类型 用法 作用 参数 AutoField 自增字段 若不显示指定主键,django每次会新建一个自增字段并设置为主键 BigAutoField 类似AutoField 存储数字为只能为 1到 ...

  6. Django ORM获取字段的verbose_name

    假设存在如下模块: class Article(models.Model):title = models.CharFiled("文章标题", max_length = 50)... ...

  7. Django数据库常用字段及参数

    一.常见字段(经常使用到字段) 1.CharField 字符串字段(必须max_length 参数) 2.DateField 日期类型 date(auto_now =True自动更新时间\auto_n ...

  8. Django(五)模型(model)系统 -- 常用字段和字段参数

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  9. Django - ORM字段和字段参数

    目录 Django - ORM字段和字段参数 一. Django中的ORM 1. Django项目使用MySQL数据库 2.Model 3.基本用法 Django ORM 常用字段和参数 常用字段 其 ...

最新文章

  1. mysql数据库常用命令
  2. 关于ORA-01950: no privileges on tablespace 的解决
  3. Xamarin iOS教程之键盘的使用和设置
  4. Markdown语法记录
  5. 《HTML5 canvas开发详解(第2版)》——1.3 本书使用的基础HTML页面
  6. JVM运行参数_JVM内存模型_常用内存分析工具
  7. GTK 4.0 图形工具包正式发布
  8. java当月日历_java程序——输出当月日历表
  9. 本科论文房地产公司财务风险评价与控制研究
  10. 软件接口与性能测试,接口测试与性能测试有什么区别?
  11. boss网人脸识别认证_在手机上怎样进行社保人脸识别认证
  12. uni-app微信小程序配置(三)
  13. win10配置docker环境
  14. 数字化转型常见的5种问题:除了意识和能力问题,还有什么?
  15. oracle中distinct和count函数组合使用
  16. angular报错信息之 'zmz-select' is not a known element
  17. 我的世界java版怎么用指令召唤幻术师_我的世界召唤指令大全 怎么用指令召唤生物...
  18. C语言编写代码绘制圆
  19. 小程序上传音频失败_微信小程序实现录音后上传文件方法详细
  20. 天籁obd接口针脚定义_汽车16针obd接口针脚定义

热门文章

  1. php开发v2ex,继续求 PHP 开发工作
  2. php urldecode 加号不显示_php|urldecode urlencode 的加号问题
  3. elementui中给input框赋值成功后input框不能进行编辑问题
  4. java 管理系统 注释_员工管理系统--带注释--oracle系统--java项目
  5. vue和aspx判断加页面传值.txt
  6. Powerdesigner设置表字段注释与name相同
  7. idea新建module路径问题
  8. java上拉变量_「小程序JAVA实战」小程序页面的上拉下拉刷新(50)
  9. mysql空间数据类型解释_MySQL空间数据类型
  10. git配置取消代理_「高手」如何优雅的解决 git 超时