Django ORM中的查询,删除,更新操作
ORM查询操作
修改views.py文件

from django.shortcuts import render, HttpResponse from app01 import models from app01.models import Book,Author,Publisher def data_oper(req): # 获取 book 表 id 为2的价格 book = models.Book.objects.filter(id=2).values("price") print(book) # 获取 author 表 id 为 1 的名字 authors = models.Author.objects.filter(id=1)[0] print(authors) # 获取 author 表 id 为 3 名字 author1 = models.Author.objects.get(id=3) print(author1) # 以 id 为倒序排列输出记录 author2 = models.Author.objects.order_by("-id") print(author2) return HttpResponse("Hello world")
这里面获取了id为2的book
book=models。BOOK。object。exclu(id=2)
面是反向查询

from django.shortcuts import render, HttpResponse from app01 import models from app01.models import Book,Author,Publisher def data_oper(req): # 查找 Publish name 是 广东工业出版社 的 书籍 obj=models.Publisher.objects.filter(name="广东工业出版社")[0] print(obj.book_set.all().values("title")) return HttpResponse("Hello world")

def data_oper(req): # 查找书籍名为 K8S 的出版社名字 print(models.Publisher.objects.filter(book__title="K8S").values("name")) # 查找出版社名为 广东工业出版社 的书籍名字 print(models.Book.objects.filter(publisher__name="广东工业出版社").values("title")) return HttpResponse("Hello world")

from django.shortcuts import render, HttpResponse from app01 import models from app01.models import Book,Author,Publisher def data_oper(req): # 查询所有出版社城市为 广州 的书名 ret = models.Book.objects.filter(publisher__city='广州').values('title') print(ret) # 查询对应操作的sql语句 print(ret.query) return HttpResponse("Hello world")
ORM的删除操作
修改views.py的文件

from django.shortcuts import render, HttpResponse from app01 import models from app01.models import Book,Author,Publisher def data_oper(req): # 多对多的情况下,删除 book id 为1,author id 大于0的记录 book = models.Book.objects.filter(id=2)[0] authors = models.Author.objects.filter(id__gt=0) book.authors.remove(*authors) # 删除单条记录,删除 book 表中 id 为 1 的记录 models.Book.objects.filter(id=1).delete() return HttpResponse("Hello world")
ORM的更新操作
也是要修改views,py

from django.shortcuts import render, HttpResponse from app01 import models from app01.models import Book,Author,Publisher def data_oper(req): # 把 author id 为 3 的 name 改为 katy author = models.Author.objects.get(id=3) author.name = "katy" author.save() return HttpResponse("Hello world")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步