问题标签 [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.

0 投票
2 回答
101 浏览

python - 有没有办法构造一个 Q 对象,它代表一个 EmptyQueryset,即总是返回一个空结果?

在 django 中,我想根据其他一些对象的属性从数据库中检索对象。如果其他对象之一不存在,则不应影响查询结果。代码是这样的:

对于 Querysets 有一个none()方法,它总是返回 EmptyQueryset。Q 对象有类似的东西吗?

还是有更好的方法来解决我的问题?

0 投票
2 回答
600 浏览

django - django q 对象条件匹配

我的问题是当我选择 datefrom 和 dateto 时它显示错误。“未找到关键‘性别’

现在即使我使用了 Q 对象仍然和之前一样的问题..

当我同时选择 date_from 和 date_to 时仍然显示错误???如果 request.POST.has_key('gender') 仍然错误并且我是 django 的新手,我既没有选择男性也没有选择女性。

0 投票
1 回答
2000 浏览

django - 需要根据找到的 Q 对象来注释 Django querySet

所以我有一个查询,其中有几个 Q 对象被 OR-ed 在一起(以实现 UNION),我想注释每个与 Q 对象匹配的结果。因此,当我去显示我的查询结果时,我可以突出显示每个结果中点击了哪些搜索词。

这是产生结果查询集的代码:

我想我可以使用 .extra 选项添加这个带注释的列: https ://docs.djangoproject.com/en/1.3/ref/models/querysets/#extra

如果我不能这样做,我可能会做三个单独的查询,然后注释结果,然后将查询集 OR 在一起......我认为这可能非常浪费,而且看起来很笨拙。

0 投票
1 回答
1590 浏览

python - 尝试使用 operator.or_ 减少 Django Q 对象似乎会导致使用 'AND' 减少

我正在开发 Python/Django 中的应用程序。我正在尝试通过使用 Python 的 operator.or_ 函数减少 Q 对象列表来进行过滤。AND不幸的是,它会产生一个与而不是结合的列表operator.or_。问题出现在以下代码中:

该声明

结果是

所以这似乎是成功的。然而,

结果(添加了格式)

如您所见,结果有一个AND而不是一个OR。谁能看到我做错了什么?

关于q_objects[key],它的创建如下:

0 投票
0 回答
153 浏览

django - 这两个基于 Django Q 的查询有什么区别:

假设一个简单的模型是这样的:

还有几个像这样的 Q 对象:

之间的语义区别是什么:

注意:通过关系查询似乎与查询单个简单对象不同。为上述两个查询生成的 SQL 是不同的。

这是首先生成的 SQL:

第二个 SQL:

0 投票
2 回答
175 浏览

django - 封装过滤器错误 (Q)

如果我有下一个代码:

下一个查询得到不同的结果:

结果:

  • 第一个查询获取所有对象,不包括 a=7 的“b 对象”。没关系
  • 但是第二个查询获取所有对象,不包括 a=7 或 a=None 的“b 对象”。

这是一个错误吗?,它知道吗?

我添加了一个详细的示例,执行下一个代码

0 投票
1 回答
198 浏览

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。

0 投票
3 回答
1013 浏览

python - Django:从`QuerySet`中提取`Q`对象

我有一个 Django QuerySet,我想从中取出一个Q对象。(即包含与该查询集完全相同的查询。)

那可能吗?如果是这样,怎么办?

0 投票
3 回答
12852 浏览

python - Django Tastypie 高级过滤:如何使用 Q 对象进行复杂查找

我有一个基本的 Django 模型,例如:

我需要对上述模型执行一个复杂的查询,例如:

我尝试了以下使用美味派但没有运气:

在美味派的 Meta 类中,我将过滤设置为:

关于如何解决这个问题的任何想法?

谢谢 - 牛顿

0 投票
1 回答
91 浏览

django - 这段代码如何?GET 方法和 Q 对象

这段代码如何?一步步

每一行发生了什么?