欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Django ORM (三) 查询,删除,更新操作

程序员文章站 2022-05-14 12:53:53
ORM 查询操作 修改 views.py 文件 ORM 删除操作 修改 views.py 文件 ORM 更新操作 修改 views.py 文件 ......

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

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