chevron_left

Django 开发教程

免费
第 7.3 回

教程文档

Django 开发教程 - F 和 Q 对象

2023年11月22日
Django 开发教程

F 和 Q 对象

F 对象

之前的查询都是对象的属性与常量值比较,两个属性怎么比较呢?可以使用 F 对象,从 django.db.models 中引用。

F(属性名)

例:查询浏览量大于等于评论量的商品。

from django.db.models import F
Product.objects.filter(views_count__gt=F('comments_count'))

可以在 F 对象上使用算数运算。

例:查询浏览量大于 2 倍评论量的商品。

Product.objects.filter(views_count__gt=F('comments_count') * 2)

Q 对象

多个过滤器逐个调用表示逻辑与关系,其实就是 sql 语句 where 中的 and 关键字。

例:查询浏览量大于 20,并且 ID 小于 3 的商品。

Product.objects.filter(views_count__gt=20, id__gt=3)
# 或
Product.objects.filt...

课程介绍

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。2019 年 12 月 2 日,Django 3. 0 发布。

Django 是高水准的 Python 编程语言驱动的一个开源模型.视图,控制器风格的 Web 应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是 OpenStack 的 Horizon 组件采用这种架构进行设计的主要原因。另外,在 Django 框架中,还包含许多功能强大的第三方插件,使得 Django 具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

  • 用于创建模型的对象关系映射;
  • 为最终用户设计较好的管理界面;
  • URL 设计;
  • 设计者友好的模板语言;
  • 缓存系统。

目录

适合这样的人

新手