【发布时间】:2015-03-14 21:22:25
【问题描述】:
我想使用 Django 过滤器进行 or 查询。我的代码看起来很简单,但它不起作用。我已经阅读了很多答案,但对我没有任何帮助。有什么问题?
from django.db.models import Q
from models import Processoren
cpu = [
"Intel",
"AMD"
]
queryset = Processoren.objects.filter(Q(naam__contains=cpu[0]) | Q(naam__contains=cpu[1]))
#queryset = Processoren.objects.filter(naam__contains=cpu[0])
print queryset
注释的代码行可以正常工作,但上面的代码行不行。
这里是 Q 对象的文档:https://docs.djangoproject.com/en/1.7/topics/db/queries/#complex-lookups-with-q-objects
这里有一个相关的问题,但这对我不起作用: How to use OR using Django's model filter system?
出了什么问题或者我忘记了什么?
【问题讨论】:
-
和mongoengine有什么关系?
Processoren是 mongoengine 模型吗? -
@Ross 这是来自 models.py 的模型
-
一个 Django 模型或一个 MongoEngine 模型 - 区别在于 MongoEngine 不支持 Django Q 但一个 django 模型应该支持。
标签: django python-2.7 mongoengine django-q