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,数据过滤
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python多进程下的生产者和消费者模型
2022-05-30 02:37:07
![](https://img.aspxhome.com/file/2023/7/65847_0s.png)
MSSQL数据库还原图解教程
2009-01-12 17:58:00
![](https://img.aspxhome.com/file/UploadPic/20091/12/34_20071005121043_mq==-29s.jpg)
php调用快递鸟接口实例代码
2023-11-17 13:48:49
![](https://img.aspxhome.com/file/2023/3/55743_0s.png)
python图形开发GUI库pyqt5的基本使用方法详解
2022-07-08 02:31:55
![](https://img.aspxhome.com/file/2023/4/70884_0s.png)
解决GOPATH在GOLAND中的坑
2023-07-12 23:46:16
![](https://img.aspxhome.com/file/2023/0/97170_0s.jpg)
解密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
![](https://img.aspxhome.com/file/UploadPic/20095/26/1742060-99s.gif)
Go语言指针用法详解
2023-08-05 17:06:36
![](https://img.aspxhome.com/file/2023/3/97153_0s.png)
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2021-10-02 12:40:16
![](https://img.aspxhome.com/file/2023/9/67349_0s.jpg)
Python实现APP自动化发微信群消息的示例代码
2023-07-27 05:24:26
![](https://img.aspxhome.com/file/2023/7/61487_0s.jpg)
字符,字节和编码
2009-12-09 15:59:00
![](https://img.aspxhome.com/file/UploadPic/200912/9/spacer-36s.gif)
MySQL数据库搜索中的大小写敏感性
2008-11-24 12:44:00
基于python3 OpenCV3实现静态图片人脸识别
2022-10-04 20:59:30
![](https://img.aspxhome.com/file/2023/2/77552_0s.jpg)
详解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
![](https://img.aspxhome.com/file/UploadPic/20097/27/0907_sheji_biaoda_01-84s.jpg)
关于xmlhttp乱码的解决方法
2008-09-24 17:20:00