Django-模型

什么是模型

  • 模型是一个python类它是由django.db.models.Model派生出的子类
  • 一个模型代表数据库中的一张表
  • 模型类的每一个属性都代表数据库中的一个字段
  • 模型是数据交互的接口,是表示和操作数据库的方法和方式

ORM框架

定义

ORM(Object Relational Mapping)即对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库

作用
  1. 建立模型类和表之间的关系,允许我们通过面向对象的方式来操作数据库
  2. 根据设计的模型类生成数据库中的表格
  3. 通过简单的配置就可以进行数据库的切换
优点
  • 只需要面向对象编程,不需要面向数据库编写代码
    • 对数据库的操作都可以转化成对类属性和方法的操作
    • 不用编写各种数据库的SQL语句
  • 实现了数据模型和数据库的解耦,屏蔽了不同数据库操作上的差异
    • 不在关注用的是mysql、Oracle等数据库的内部细节
    • 通过简单的配置就可以轻松的更改数据库,而不需要修改代码
缺点
  • 对于复杂业务,使用成本高(中间python代码运行成本)
  • 根据对象操作转换成SQL语句,根据查询的结果转换成对象,在映射过程中有性能损失
代码示例
class Book(models.Model):
    title = models.CharField('书名', max_length=50, default='', unique=True)
    pub = models.CharField('出版社', max_length=100, null=False, default='中国传媒大学出版社')
    price = models.DecimalField('价格', max_digits=7, decimal_places=2, default=0.0)  # 00000.00
    market_price = models.DecimalField('零售价', max_digits=7, decimal_places=2, default=0.0)
数据库迁移
  • 迁移是Django同步您对模型所做的更改(添加字段,删除模型等)到您的数据库模式的方式
  1. 生成迁移文件 -执行 python manage.py makemigrations
    向应用下的models.py文件生成一个中间文件,并保存在migrations文件夹中
  2. 执行迁移脚本程序 - 执行 python manage.py migrate
    执行迁移程序实现迁移。将每个应用下的migrations目录中的中间文件同步回数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值