ORM - 创建数据
ORM - 操作
基本操作包括增删改查操作,即(CRUD操作)
CRUD时指在做计算机处理时的增加(Create)、读取查询(Read)、更新(Update)和删除(Delete)
ORM CRUD 核心 --> 模型类.管理器对象
管理器对象
每个继承自 models.Model 的模型类,都会有一个 objects 对象被同样继承下来。这个对象叫管理器对象
数据库的增删改查可以通过模型的管理器实现
class MyModel(models.Model): ... MyModel.objects.create(...) # objects 是管理器对象
创建数据
Django ORM 使用一种直观的方式把数据库表中的数据表示成Python对象
创建数据中每一条记录就是创建一个数据对象
方案1
-
MyModel.objects.create(属性1=值1, 属性2=值2, ...)
- 成功:返回创建好的实体对象
- 失败:抛出异常
方案2
-
创建MyModel实例对象,并调用save()进行保存
- obj = MyModel(属性=值, 属性=值)
- obj.属性=值
- obj.save()
Django Shell
在Django提供了一个交互式的操作项目叫Django Shell,它能够在交互模式用项目工程的代码执行相应的操作。非常适合调试。
利用Django Shell可以代替编写view的代码开进行直接操作
注意:项目代码发送变化时,重新进入Django Shell
- 启动方式:
- python manage.py shell
使用方案1创建数据:
from bookstore.models import Book b1 = Book.objects.create(title='Python', pub='清华大学出版社', price=20, market_price=25)
使用方案2创建数据:
b2 = Book(title='Django', pub='清华大学出版社', price=70, market_price=75) b2.save()
练习1
Book.objects.create(title='JQuery', pub='机械工业出版社', price=90, market_price=85) Book.objects.create(title='Linux', pub='机械工业出版社', price=80, market_price=65) Book.objects.create(title='HTML5', pub='清华大学出版社', price=90, market_price=105)
练习2
from bookstore.models import Author Author.objects.create(name='王老师', age=28, email='wangweichao@tedu.cn') Author.objects.create(name='吕老师', age=31, email='lvze@tedu.cn') Author.objects.create(name='祁老师', age=30, email='qitx@tedu.cn')