ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

django - ORM-创建数据

2021-11-03 19:32:08  阅读:180  来源: 互联网

标签:管理器 objects Book 创建 price django ORM Django create


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')

 

 

标签:管理器,objects,Book,创建,price,django,ORM,Django,create
来源: https://www.cnblogs.com/minygirl/p/15505343.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有