解锁的Django ORM的核心用法系列(二)
Sprite
发表于 2023年11月18日
欢迎回到我们对Django ORM讲解系列的第二部分。在第一部分中,我们深入探讨了基本命令、模型和基本对象操作。在这一续篇中,我们将更深入地了解Django ORM提供的强大功能。我们将涵盖高级查询技术、处理多对多关系以及优化数据检索。

part 3: 解锁的Django ORM的核心用法系列(三)
比较
-
小于 -
小于或等于 -
大于 -
大于等于
books = Book.objects.filter(publication_date__gte=date(2023, 10, 12))print(books)# <QuerySet [<Book: Python From Zero to Hero (596894049686)>]>
包含
contains 方法与 filter 方法。books = Book.objects.filter(title__contains="Pyt")print(books)# <QuerySet [<Book: Python From Zero to Hero (596894049686)>]>
排序
books = Book.objects.order_by("-publication_date")print(books)# <QuerySet [<Book: Python From Zero to Hero (596894049686)>, <Book: Javascript Mastery ()>]>for book in books:print(book.publication_date)# 2023-10-12# 2022-05-06
将对象转换为字典
contributors = Contributor.objects.all()print(contributors.values())

排除
exclude 方法。contributors = Contributor.objects.exclude(first_name="Giovanni")print(contributors)
在另一张表中搜索
books = Book.objects.filter(publisher__name="Oreilly")print(books)# <QuerySet [<Book: Python From Zero to Hero (596894049686)>]>
在另一张表中搜索(反向)
publishers = Publisher.objects.get(book__title="Python From Zero to Hero")print(publishers)
Previous Post
解锁的Django ORM的核心用法系列(一)评论已关闭。