问题标签 [django-q]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 有没有办法构造一个 Q 对象,它代表一个 EmptyQueryset,即总是返回一个空结果?
在 django 中,我想根据其他一些对象的属性从数据库中检索对象。如果其他对象之一不存在,则不应影响查询结果。代码是这样的:
对于 Querysets 有一个none()
方法,它总是返回 EmptyQueryset。Q 对象有类似的东西吗?
还是有更好的方法来解决我的问题?
django - django q 对象条件匹配
我的问题是当我选择 datefrom 和 dateto 时它显示错误。“未找到关键‘性别’
现在即使我使用了 Q 对象仍然和之前一样的问题..
当我同时选择 date_from 和 date_to 时仍然显示错误???如果 request.POST.has_key('gender') 仍然错误并且我是 django 的新手,我既没有选择男性也没有选择女性。
django - 需要根据找到的 Q 对象来注释 Django querySet
所以我有一个查询,其中有几个 Q 对象被 OR-ed 在一起(以实现 UNION),我想注释每个与 Q 对象匹配的结果。因此,当我去显示我的查询结果时,我可以突出显示每个结果中点击了哪些搜索词。
这是产生结果查询集的代码:
我想我可以使用 .extra 选项添加这个带注释的列: https ://docs.djangoproject.com/en/1.3/ref/models/querysets/#extra
如果我不能这样做,我可能会做三个单独的查询,然后注释结果,然后将查询集 OR 在一起......我认为这可能非常浪费,而且看起来很笨拙。
python - 尝试使用 operator.or_ 减少 Django Q 对象似乎会导致使用 'AND' 减少
我正在开发 Python/Django 中的应用程序。我正在尝试通过使用 Python 的 operator.or_ 函数减少 Q 对象列表来进行过滤。AND
不幸的是,它会产生一个与而不是结合的列表operator.or_
。问题出现在以下代码中:
该声明
结果是
所以这似乎是成功的。然而,
结果(添加了格式)
如您所见,结果有一个AND
而不是一个OR
。谁能看到我做错了什么?
关于q_objects[key]
,它的创建如下:
django - 这两个基于 Django Q 的查询有什么区别:
假设一个简单的模型是这样的:
还有几个像这样的 Q 对象:
之间的语义区别是什么:
和
注意:通过关系查询似乎与查询单个简单对象不同。为上述两个查询生成的 SQL 是不同的。
这是首先生成的 SQL:
第二个 SQL:
django - 封装过滤器错误 (Q)
如果我有下一个代码:
下一个查询得到不同的结果:
结果:
- 第一个查询获取所有对象,不包括 a=7 的“b 对象”。没关系
- 但是第二个查询获取所有对象,不包括 a=7 或 a=None 的“b 对象”。
这是一个错误吗?,它知道吗?
我添加了一个详细的示例,执行下一个代码
django - 或查询 Q 对象挂起
我正在使用 Q 对象构建查询,但它挂起。
当我将过滤器“与”在一起时,查询工作正常。这是示例:
School.objects.filter( Q(city__search='"orlando"'), Q(schoolattribute__attribute__name__search='"subjects"') )
但是当我将过滤器“或”在一起时,查询只是挂起,因为我假设有太多要处理的事情:
School.objects.filter( Q(city__search='"orlando"') | Q(schoolattribute__attribute__name__search='"subjects"')
我想知道这里到底发生了什么,我能做些什么来减轻它。为什么使用“AND”时查询有效,而使用“OR”时查询无效?
编辑:好的提示@psagers。所以事实证明,AND 查询获得了两个 INNER JOIN,而 OR 查询获得了两个 LEFT OUTER JOIN。
python - Django:从`QuerySet`中提取`Q`对象
我有一个 Django QuerySet
,我想从中取出一个Q
对象。(即包含与该查询集完全相同的查询。)
那可能吗?如果是这样,怎么办?
python - Django Tastypie 高级过滤:如何使用 Q 对象进行复杂查找
我有一个基本的 Django 模型,例如:
我需要对上述模型执行一个复杂的查询,例如:
我尝试了以下使用美味派但没有运气:
在美味派的 Meta 类中,我将过滤设置为:
关于如何解决这个问题的任何想法?
谢谢 - 牛顿
django - 这段代码如何?GET 方法和 Q 对象
这段代码如何?一步步
每一行发生了什么?