用django或条件过滤

时间:2016-10-05 10:20:19

标签: python django

我希望在过滤对象数据时在django中使用带OR条件的过滤器。

我有一个类的对象,我有3或4个字段,我想在Django中使用OR条件过滤数据。

例如。

Obj = Books.objects.filter(title=title or price=price or description=description or author=author)

我认为这不是执行过滤的正确方法。

在我的django过滤器中使用OR条件的正确方法是什么

1 个答案:

答案 0 :(得分:2)

from django.db.models import Q

Obj = Books.objects.filter(Q(title=title) | Q(price=price) | Q(description=description) | Q(author=author))

文档:http://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects 资料来源:https://stackoverflow.com/a/739922/4808939