ORM常用操作介绍

一、修改
update和save方法
实例:
1、增加一套作者记录
>>> from hello.models import*
>>> Author.objects.create(name=‘胡大海‘)
<Author: Author object>
>>> AuthorDetail.objects.create(sex=False,email=‘[email protected]‘,address=‘北京XX‘,birthday=‘1988-1-2‘,author_id=1)
<AuthorDetail: AuthorDetail object>

2、增加一条出版社记录
>>> pub = Publisher()
>>> pub.name=‘电子工业出版社‘
>>> pub.address = ‘成都华阳‘
>>> pub.city = ‘成都‘
>>> pub.state_province = ‘四川‘
>>> pub.country = ‘中国‘
>>> pub.website = ‘http://maiziedu.com‘
>>> pub.save()
>>>
3、增加一条书籍记录
>>> book = Book.objects.get(id=1) #获取书籍的对象
>>> author = Author.objects.get(id=1)#获取作者的对象
>>> book.authors.add(author) #插入书和作者的关系
>>>

objects:models的默认管理器。create是管理器里面的方法
插入主外键关系的时候,可以用对象的方式,也可以直接以直接关联id的方式
插入多对多关系的时候要分布操作
save是model对象的方法,即objects的方法
update是QuerySet对象的方法

二、修改
update和save方法

实例:
1、修改id为1的作者的名字为叶良辰,性别改为女
>>> author.name = ‘叶良辰‘
>>> author.save()
>>>
>>> authordetail = AuthorDetail.objects.get(id=1)
>>> authordetail.sex
False
>>> authordetail.sex=True
>>> authordetail.save()
>>> authordetail.sex
True
>>>

2、修改名为"电子工业出版社"的出版社的网址为
http://www.maiziedu.com,城市为成都

>>> Publisher.objects.filter(id=1).update(city=‘重庆‘,website=‘http://www.google.com‘)
1
>>>
>>> Publisher.objects.filter(id=2).update(city=‘武汉‘,website=‘http://www.tmall.
com‘)
1
>>>

三、查询(惰性机制)
1、查询所有的出版社信息
>>> Publisher.objects.all()
[<Publisher: 电子工业出版社>, <Publisher: >]
>>>

>>> Book.objects.all()
[<Book: Book object>]
>>>

所谓的惰性机制:Publisher.objects.all()只是返回了一个QuerySet(查询结构集对象),并不会马上执行sql,而是当调用QuerySet的时候才执行

四、删除
delete方法
QuerySet对象的方法
实例:
1、删除id为1的书籍信息
>>> Book.objects.filter(id=1).delete()
(2, {‘hello.Book‘: 1, ‘hello.Book_authors‘: 1})
>>>
2、删除出版社城市为成都的记录
>>> Publisher.objects.filter(city=‘成都‘).delete()
(0, {})
>>> Publisher.objects.filter(city=‘重庆‘).delete()
(1, {‘hello.Publisher‘: 1})
>>>

注意:django中的删除默认是级联删除
课外思考:
去官方文档查查,有没有提供批量增加数据的方法

原文地址:https://www.cnblogs.com/kindnull/p/8379776.html

时间: 2024-10-13 14:47:52

ORM常用操作介绍的相关文章

Mac系统与Xcode的一些常用操作介绍

前言: 受台风影响今天学校不上课,在家闲的蛋疼没事做,使用Mac系统一段时间了发现它和Windows系统的操作风格还是有很大不同的,遂决定将Mac系统与Xcode的一些常用操作收集整理一下,方便自己日后查找使用. 一.Mac系统(OS X 10.10以上版本)操作篇 1)F11  开启多个程序时可快速切换到桌面 2)Command+C 后Command+Alt(option)+V 可实现对文件/文件夹的剪切 3)Command+delete(或退格键) 可实现对文件/或文件夹的快速删除 4)Co

Docker 基础概念科普 和 常用操作介绍

Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响.那么我就不需要专门运送瓷器的船和专门运送化学物品的船了.只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走. 不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成

Django进阶Model篇004 - ORM常用操作

一.增加 create和save方法 实例: 1.增加一条作者记录 >>> from hello.models import * >>> Author.objects.create(name='胡大海') >>> AuthorDetail.objects.create(sex=False,email='[email protected]',address='北京XX',birthday='1988-1-2',author_id=1) 2.增加一条出版社

Django学习--ORM常用操作

以下操作在cmd中进行 一.增加 create 和 save方法 实例: 1.增加一条作者记录 尝试 使用create添加: 2.增加一条出版社记录 尝试使用save()方法添加: 3.增加一条书籍记录 注:objects:model默认管理器.create是这个管理器中的方法 save方法是model对象的方法 插入主外键关系时,可以用对象的方式,也可以直接以关联id的方式插入 插入多对多关系时,要分步操作 二.修改 update和save方法 实例: 1.修改id=1的作者的名字为叶良辰 2

go语音之进阶篇字符串操作常用函数介绍

下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr string) bool 功能:字符串s中是否包含substr,返回bool值 示例: fmt.Println(strings.Contains("seafood", "foo")) fmt.Println(strings.Contains("seafood&qu

ORM常用字段

Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&qu

Django ORM常用字段及参数

目录 Django ORM常用字段及参数 models中的常用字段 字段内的关键字参数 数据库查询优化(面试问题) Django ORM如何开启事务操作 MTV与MVC模型(了解) Django ORM常用字段及参数 models中的常用字段 models中常用字段与数据库中的对应关系 models中常用字段 数据库对应字段 AutoField(primary_key=True) 主键字段 CharField(max_length=32) varchar(32) IntegerField() i

转:maven常用命令介绍

mvn 3.0.4 创建maven项目命令 mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles-autocredit  -DarchetypeArtifactId=maven-archetype-quickstart     -DinteractiveMode=false  -X 1 下载源代码:mvn dependency:sources -DdownloadSources=true -Dd

TStringList 常用操作

TStringList 常用操作 //TStringList 常用方法与属性: var   List: TStringList;   i: Integer; begin   List := TStringList.Create;   List.Add('Strings1');          {添加}   List.Add('Strings2');   List.Exchange(0,1);            {置换}   List.Insert(0,'Strings3');      {