一、ORM介绍

ORM:Object-Relation Mapping(对象-关系映射)

优势:

  • 只需要面向对象编程,不需要面向数据库编写代码;
  • 实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异。

劣势:

  • 相比较直接使用SQL语句操作数据库,有性能损失。

ORM与数据库的关系:通常,一个模型(model)映射到一个数据库表。

Django之ORM框架的使用

 二、ORM的使用

1)字段类型

属性名 = models.字段类型,定义属性时需要指定字段类型, 通过字段类型的参数指定选项属性名。

AutoField:自动增长的IntegerField, 不指定时Django会自动创建属性名为id的自动增长属性;

BooleanField:布尔字段,值为True或False;

NullBooleanField:支持Null、True、False三种值;

CharField(max_length=20):字符串;  参数max_length表示最大字符个数

TextFiled:大文本字段;

IntegerField:整数;

DecimalField(max_digits=None, decimal_places=None):可以指定精度的十进制浮点数;
  参数max_digits表示总位数
  参数decimal_places表示小数位数


FloatField():浮点数 

DateField[auto_now=False, auto_now_add=False]):日期

  参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false
  参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false
  参数auto_now_add和auto_now是相互排斥的,组合将会发生错误

TimeField:参数和DateField一样;

DateTimeField:日期时间,参数同DateField;

FileField:上传文件字段,以二进制的形式;

ImageField:继承于FileField,对上传的内容进行校验,确保是有效的图片。
字段类型

相关文章: