django 中用于取代sql,用于数据表查询的语法叫做ORM查询集,但是在实用查询集的时候一般只能通过filter获取等值属性,例如:OB.filter(number=3),而一旦使用不等号,就会报错例如:
q = OB.objects.filter(number > item.number) NameError: name 'number' is not defined
或者:
q = OB.objects.filter('number' > 'item.number') TypeError: 'bool' object is not iterable
但是实际情况上来说,很多时候直接使用不等号会更加方便减少多行代码,减少逻辑混乱的风险,而django就提供了过滤器这一选项。
以下便是几种较常用的选择器:(带有OB的表示是对象自带的属性)
__exact 精确等于
q = OB.objects.filter(name__exact='apPle') 获取name属性为apPle的数据,大小写严格对应
__iexact 精确等于 忽略大小写
q = OB.objects.filter(name__exact='apPle') 获取name属性为apple(APPLE或Apple。。。)的数据,忽略大小写
__contains 包含
q = OB.objects.filter(name__contains='list') 获取name属性中包含list字符的数据
__icontains 包含 忽略大小写,但是对于sqlite来说,contains的作用效果等同于icontains
同上但是忽略大小写
__gt 大于
q = OB.objects.filter(date__gte=datetime.date.today()) 获取date属性大于当前时间的数据(时间上的大于应该指的是过去吧)
__gte 大于等于
q = OB.objects.filter(number__gte=3) 获取number属性大于3的数据
__lt 小于
q = OB.objects.filter(OB_number__lt=OB_pro_number) 获取自带的number属性值小于自带的pro_number属性的数据
__lte 小于等于
__in 存在于一个list范围内
q = OB.objects.filter(name__in=listA) 获取name属性的值在listA表单中的数据,例如获取名字在优惠商品名称数组中的商品
__startswith 以...开头
q = OB.objects.filter(name__startswith='AP') 获取name属性以AP开头的数据(大小写严格)
__istartswith 以...开头 忽略大小写......效果同上,但是忽略大小写
__endswith 以...结尾
q = OB.objects.filter(name__startswith='LE') 获取name属性以LE结尾的数据,大小写严格
__iendswith 以...结尾,忽略大小写......效果同上,但是忽略大小写
__range 在...范围内
q = OB.objects.filter(date__range=["2011-01-01", "2011-01-31"]) 获取date属性值在这个日期之间的数据
__year 日期字段的年份
q = OB.objects.filter(date__year=2017) 获取date属性的年份字段为2017的数据
__month 日期字段的月份
q = OB.objects.filter(date__year=4) 获取date属性的月份字段为4的数据
__day 日期字段的日
q = OB.objects.filter(date__year=20) 获取date属性的日期字段为20的数据
__isnull=True/False
q = OB.objects.filter(name__isnull=True) 获取name属性值为空的数据
同时与filter相反的Object属性为exclude
filter表示=,exclude表示!=
将上述语句中的filter替换成exclude将获得相反的数据
相关推荐
本文将介绍在Python框架Django中如何进行数据库查询以及将查询结果渲染到Web页面上的过程。Django是一个高级的、开源的Web应用框架,它遵循模型-视图-控制器(MVC)设计模式,提供了快速开发Web应用的便捷性。 首先...
在Django中还提供了查询集(QuerySet)的条件筛选。如上所述,可以使用filter()方法来获取满足特定条件的记录。如果需要获取某个字段值大于、小于、大于等于或小于等于某个值的记录,可以分别使用id__gt、id__lt、id...
在Django中,进行多条件查询是常见的需求,特别是在开发复杂的Web应用时。本文将详细介绍如何在Django中解决多条件查询的问题,并提供一个实际的示例。 首先,我们需要了解Django的ORM(Object-Relational Mapping)...
首先,Django内置的分页器是`django.core.paginator`模块,但有时开发者可能会选择第三方库,如`django-pure-pagination`,因为它提供了更简洁、灵活的用法。`django-pure-pagination`是一个轻量级的分页器,它简化...
在Python的Web开发框架Django中,`filters`是一个强大的工具,用于在数据库查询时进行数据筛选和过滤,从而实现精准或模糊查询。本篇将深入探讨如何利用Django的`filter`功能来处理多种查询场景,包括复选框多值准确...
开发语言:Python/python...该系统遵循MVC开发模式,采用Django框架,使用Mysql开源数据库,实现了用户注册和登录,机票的查询,预订等功能.该系统的实现提高了航空公司的服务质量和工作效率,同时也极大地方便了广大乘客.
基于 Pythgo的 Django 框架,编程实现一个 WEB 程序,为用户提供 城市信息查询功能。用户可输入一个城市名,输出其所在省份名称和邮编 等信息。例如,输入“桂林市”,输出“广西壮族自治区”和“541000”等 城市...
使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器使用DJANGO框架的URL缩短器...
本主题将深入探讨如何在Django2版本中结合MySQL8数据库进行数据的插入和查询操作。MySQL8作为广泛使用的开源关系型数据库管理系统,为开发者提供了强大的数据存储和管理功能。 首先,我们需要确保安装了Django以及...
Django 本身并不直接支持内置的日期时间选择器,但我们可以借助第三方库或 HTML5 的 input 标签来实现。 在上面的示例中,Django 项目使用了 DateTimePicker 插件,这是一个基于 jQuery 的日期时间选择器。以下是...
django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...
可以使用缓存查询集来提高查询性能。 比较对象 可以使用比较对象来比较两个对象。 删除对象 可以使用删除对象来删除数据库中的对象。 一次修改多个对象 可以使用批量操作来修改多个对象。 关系对象 可以使用关系...
在Django中,ORM通过模型(Model)来定义数据结构,然后通过查询集(QuerySet)进行数据操作。例如,创建一个用户模型,可以通过`create()`方法创建新用户,`filter()`或`get()`方法查询用户,`update()`或`delete()...
Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...
安装Django可以通过Python的包管理器pip进行,命令为`pip install django`。设置项目时,使用`django-admin startproject project_name`创建新项目,然后通过`python manage.py startapp app_name`创建应用。 3. *...
Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...
Python-Django是构建高效、可扩展的Web应用的热门选择,尤其在教育信息化领域,它被广泛用于开发信息查询类网站。在这个项目中,我们利用Python的Django框架搭建了一个针对高校信息的查询平台,旨在为学生、家长及...
在Django框架中,数据库查询后的结果集通常是一个QuerySet对象,它包含了多个模型实例。当需要将这些数据传递给前端,例如以JSON格式展示时,需要进行一些处理。本文将详细介绍如何在Django中将数据库查询结果转换为...
Django数据层提供各种途径优化数据的访问,一个项目大量优化工作一般是放在后期来做,早期的优化是“万恶之源”,这是前人总结的经验,不无道理。如果事先理解Django的优化技巧,开发过程中稍稍留意,后期会省不少的...
前几天写的django 简易博客开发记录,贴个链接吧 ...django 简易博客开发 2 模板和数据查询 http://www.cnblogs.com/cacique/archive/2012/09/30/2709143.html django 简易博客开发 3 静态文件、from 应用与自定义 ...