【Python】Django filter 如何支持 or 条件过滤?

from django.db.models import Q

Item.objects.filter(Q(creator=owner) | Q(moderated=False))

代码示例:

if(request.GET.has_key(‘search‘)):
                search = request.GET.get(‘search‘)
                logger.info(search)
                from django.db.models import Q
                jobs_set = models.Deploy.objects.filter(Q(deployName__contains=search) | Q(submit__contains=search)).order_by(order_by)[offset:offset+limit]
                total = models.Deploy.objects.filter(Q(deployName__contains=search) | Q(submit__contains=search)).count()
            else:
                logger.info("NOSEARCH")
                jobs_set = models.Deploy.objects.all().order_by(order_by)[offset:offset+limit]
                total = models.Deploy.objects.count()

参考资料:

http://stackoverflow.com/questions/739776/django-filters-or

时间: 2024-10-24 07:29:38

【Python】Django filter 如何支持 or 条件过滤?的相关文章

django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct

1.多表连接查询:当我知道这点的时候顿时觉得django太NX了.  class A(models.Model):    name = models.CharField(u'名称')  class B(models.Model):    aa = models.ForeignKey(A)B.objects.filter(aa__name__contains='searchtitle') 1.5 我叫它反向查询,后来插入记录1.5,当我知道的时候瞬间就觉得django太太太NX了.  class

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

浅谈Python Django框架

1.Django简介 Python下有多款不同的 Web 框架,Django是最有代表性的一种.许多成功的网站和APP都基于Django. Django是一个开源的Web应用框架,由Python写成. Django采用了MVC的软件设计模式,即模型M,视图V和控制器C.   2.Django的特点 1) 强大的数据库功能:用python的类继承,几行代码就可以拥有一个动态的数据库操作API,如果需要也能执行SQL语句. 2) 自带的强大的后台功能:几行代码就让网站拥有一个强大的后台,轻松管理内容

[python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py ? 1.2 安装python虚拟环境virtualenv virtualenvwrapper 首先说明下为什么要装这两个包: First, it's important to understand that a virtual environment is a special tool used to ke

python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大

python Django注册页面显示头像

python Django注册页面显示头像(views) def register(request): ''' 注册 :param request: :return: ''' if request.method=='GET': obj = Register(request) return render(request, 'register.html', {'obj': obj}) else: obj = Register(request,request.POST,request.FILES) i

初识python django, 让我们一起进入python的世界吧

这几天花时间学习了一下python django,正如某人所说,掌握另外一门语言是有必要的,同样我也作出了自己的选择.从这几天的学习中,我确实也发现其他语言及其框架等确实有一种与众不同的感觉.下面我把自己这几天看到的东西稍微作了一下总结,本文并不是django的教程,而是在麦子学院参加学习之后对django的一些自己的理解,可能有些不成熟的地方,希望大家不要吝惜手中的砖头. 一 django的orm 如果有人问我喜欢django的什么,我会耗不犹豫的告诉你是django的orm,这个想法的产生完

Python+Django+SAE系列教程11-----request/pose/get/表单

表单request,post,get 首先我们来看看Request对象,在这个对象中包含了一些有用的信息,学过B/S开发的人来说这并不陌生,我们来看看在Django中是如何实现的: 属性/方法 说明 举例 request.path 除域名以外的请求路径,以正斜杠开头 "/hello/" request.get_host() 主机名(比如,通常所说的域名) "127.0.0.1:8000" or"www.example.com" request.g

Django filter中用contains 在mysql中的问题

用PYTHON ,DJANGO 做站,在通常的情况下,需要用到 orM 的查询方法,比如object.filter(tag__contains='keywords').... 在这种情况下,如果你跟踪 sql 语句,你会发现,SQL 语句会生成 select .... like bianry '%keywords%', 如果是这样的语句,在某些情况是下是会出问题的,也就是说查询出来的数据可能会比你预计的少. 如果你用 raw sql 查总数 select count(*) from table