Python的Django框架中的数据过滤功能

作者:goldensun 时间:2022-02-01 05:48:40 

我们很少会一次性从数据库中取出所有的数据;通常都只针对一部分数据进行操作。 在Django API中,我们可以使用`` filter()`` 方法对数据进行过滤:


>>> Publisher.objects.filter(name='Apress')
[<Publisher: Apress>]

filter() 根据关键字参数来转换成 WHERE SQL语句。 前面这个例子 相当于这样:


SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE name = 'Apress';

你可以传递多个参数到 filter() 来缩小选取范围:


>>> Publisher.objects.filter(country="U.S.A.", state_province="CA")
[<Publisher: Apress>]

多个参数会被转换成 AND SQL从句, 因此上面的代码可以转化成这样:


SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE country = 'U.S.A.'
AND state_province = 'CA';

注意,SQL缺省的 = 操作符是精确匹配的, 其他类型的查找也可以使用:


>>> Publisher.objects.filter(name__contains="press")
[<Publisher: Apress>]

在 name 和 contains 之间有双下划线。和Python一样,Django也使用双下划线来表明会进行一些魔术般的操作。这里,contains部分会被Django翻译成LIKE语句:


SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE name LIKE '%press%';

其他的一些查找类型有:icontains(大小写无关的LIKE),startswith和endswith, 还有range(SQLBETWEEN查询)。

标签:Django,数据过滤
0
投稿

猜你喜欢

  • python多进程下的生产者和消费者模型

    2022-05-30 02:37:07
  • MSSQL数据库还原图解教程

    2009-01-12 17:58:00
  • php调用快递鸟接口实例代码

    2023-11-17 13:48:49
  • python图形开发GUI库pyqt5的基本使用方法详解

    2022-07-08 02:31:55
  • 解决GOPATH在GOLAND中的坑

    2023-07-12 23:46:16
  • 解密SQL Server数据库系统的编译

    2009-03-16 17:33:00
  • ASP.NET 2.0防止同一用户同时登录

    2007-10-03 14:30:00
  • 从数据表中取出第n条到第m条的记录的方法

    2009-02-19 13:40:00
  • CSS Sprites (CSS图像拼合技术)教程工具

    2009-05-26 15:30:00
  • Go语言指针用法详解

    2023-08-05 17:06:36
  • python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案

    2021-10-02 12:40:16
  • Python实现APP自动化发微信群消息的示例代码

    2023-07-27 05:24:26
  • 字符,字节和编码

    2009-12-09 15:59:00
  • MySQL数据库搜索中的大小写敏感性

    2008-11-24 12:44:00
  • 基于python3 OpenCV3实现静态图片人脸识别

    2022-10-04 20:59:30
  • 详解django中Template语言

    2022-12-01 21:20:59
  • python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法

    2021-12-16 16:24:37
  • Android界面与交互设计原则

    2012-02-04 09:28:32
  • 设计与表达

    2009-07-27 11:45:00
  • 关于xmlhttp乱码的解决方法

    2008-09-24 17:20:00
  • asp之家 网络编程 m.aspxhome.com