Django(8)ORM单表实例(四)

简介: Django(8)ORM单表实例(四)

__year


  • __year是DateField数据类型的年份=号后面为数字
# -*- coding: utf-8 -*-
from statistics import mode
from django.shortcuts import render,HttpResponse
from app1_model import models
def add_book(request):
    #books = models.Book.objects.create(title="Python",price=500,publish="Python出版社",pub_date="1970-12-10")  
    books = models.Book.objects.filter(pub_date__year=1798)
    print(books)
    return HttpResponse('<p>查找成功!</p>')
  • 访问测试

05d099d0cf7048ae9cfdc915abfcc7dc.png

8c3d0fb109374b8dbd9224376ae93ae0.png


__month


  • __month是DateField数据类型的月份=号后面是数字
# -*- coding: utf-8 -*-
from statistics import mode
from django.shortcuts import render,HttpResponse
from app1_model import models
def add_book(request):
    #books = models.Book.objects.create(title="Python",price=500,publish="Python出版社",pub_date="1970-12-10")  
    books = models.Book.objects.filter(pub_date__month=10)
    print(books)
    return HttpResponse('<p>查找成功!</p>')
  • 访问测试


a121287d046842df87bfc998a4c925be.png

c70e0e6aa2954b27b3c9f34cfdcccbc9.png

__day


  • __day是DateField数据类型的天数,=号后面为数字


# -*- coding: utf-8 -*-
from statistics import mode
from django.shortcuts import render,HttpResponse
from app1_model import models
def add_book(request):
    #books = models.Book.objects.create(title="Python",price=500,publish="Python出版社",pub_date="1970-12-10")  
    books = models.Book.objects.filter(pub_date__day=13)
    print(books)
    return HttpResponse('<p>查找成功!</p>')

访问测试

5b8636ee83c54ffba375776b25ad0c85.png

3d19a569754140f5b73d8f42201af3fc.png


(4)删除数据


  • 菜鸟教程中的删除方法同样是两种,分别是:


  1. 使用模型类的对象.delete(),返回值:元组,第一个元素为受影响的行数
  2. 使用QuerySet类型数据.delete(),返回值:元组,第一个元素为受影响的行数


  • 这里使用第二种,实例:
# -*- coding: utf-8 -*-
from statistics import mode
from django.shortcuts import render,HttpResponse
from app1_model import models
def add_book(request):
    #books = models.Book.objects.create(title="Python",price=500,publish="Python出版社",pub_date="1970-12-10")  
    books = models.Book.objects.filter(pk__in=[4,5]).delete()
    print(books)
    return HttpResponse('<p>删除成功!</p>')
  • 访问测试,查看mysql数据库

8319dfb0e6e84d2eb6f30ee746406bb7.png

4ad3bc862f83409faefdafc3534720a6.png

d2d28342d6b04feba6ac78388e50b71d.png


  • 注意:


  1. Django删除数据时,会模仿SQL约束ON DELETE CASCADE的行为,也就是删除一个对象时也会删除与他相关联的外键对象
  2. Django()方法是QuerySet数据类型的方法,但并不适用于Manager本身,也就是想要删除所有数据,不能不写all
books=models.Book.objects.delete()  # 报错
books=models.Book.objects.all().delete()   # 删除成功

(5)修改数据


  • 修改数据同样有两种方式,分别是:
- 方法
模型类的对象.属性 = 更改的属性值
模型类的对象.save()
- 返回值
编辑的模型类的对象
- 方法
QuerySet数据类型.update(字段名称=更改的数据)
- 返回值
整数(受影响的行数)
  • 这里使用第二种,实例:
# -*- coding: utf-8 -*-
from statistics import mode
from django.shortcuts import render,HttpResponse
from app1_model import models
def add_book(request):
    #books = models.Book.objects.create(title="Python",price=500,publish="Python出版社",pub_date="1970-12-10")  
    books = models.Book.objects.filter(pk__in=[1,2]).update(price=450)
    print(books)
    return HttpResponse('<p>修改成功!</p>')
  • 访问测试,查看mysql数据库


9d0eb0cfebe44b71ab147708b9277271.png

e99cdde8c5364cac94b76e651669e4eb.png

5c4590f25c6d423db3e3cc5eefbc8ef7.png

目录
相关文章
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
70 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
SQL Go 数据库
【速存】深入理解Django ORM:编写高效的数据库查询
【速存】深入理解Django ORM:编写高效的数据库查询
62 0
|
4月前
|
数据管理 数据挖掘 调度
Django后端架构开发:URLconf到ORM深度剖析
Django后端架构开发:URLconf到ORM深度剖析
58 1
|
4月前
|
数据库 Python
Django ORM
【8月更文挑战第23天】
49 4
|
4月前
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
43 0
|
4月前
|
SQL Go 数据库
Django入门到放弃之ORM多表操作
Django入门到放弃之ORM多表操作
|
4月前
|
SQL 关系型数据库 MySQL
Django入门到放弃之ORM单表操作
Django入门到放弃之ORM单表操作
|
5月前
|
SQL 数据库 Python
Django框架数据库ORM查询操作(6)
【7月更文挑战第6天】```markdown Django ORM常用数据库操作:1) 查询所有数据2) 根据ID查询 3) 精确查询 4) 分页排序
79 1
|
6月前
|
JSON 缓存 数据库
Django ORM的QuerySet:解锁数据库交互的魔法钥匙
Django ORM的QuerySet:解锁数据库交互的魔法钥匙
|
6月前
|
存储 安全 数据库
Django ORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践
Django ORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践