问题标签 [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 投票
1 回答
63 浏览

django - Django Q bad query logic

I'm trying to create a manager that has a method 'active_or_users' to retrieve all accounts that are active, or that an user has created. An active account has a start date that is either today, or somewhere in the past, and a end date that is somewhere in the future. Right now the active_or_users method works, however it returns duplicates of the same object. It's returning three copies of a user created active job. This is less than ideal.

0 投票
1 回答
155 浏览

django - Django:使用 Q 对象对任意数量的输入进行动态过滤(OR & AND)

假设输入是,

如何通过以下方式创建查询

其中 'k' 对所有都保持相同,并且输入可以在指定组合中具有任意数量的元素。

我尝试使用 & 和 | 递归链接 Q() 上的运算符,还尝试使用 reduce 函数构建过滤器。但我总是以错误“ValueError:要解压的值太多”而告终

任何帮助表示赞赏。

0 投票
1 回答
7677 浏览

python - 'Q'对象没有属性'split' - Django

我有一个模型:

和查询:

我收到错误消息:

为什么是这样?虽然我没有使用split().. 错误行在此查询行中。

0 投票
2 回答
398 浏览

django - Django / GET 表单 / Q 过滤

我正在尝试为我的结果创建过滤器,该过滤器将从 html 表单中获取多个值。当前的设置为我提供了诸如 /?language=French&language=German 之类的 URL,但是结果不会显示法语和德语记录,而只会显示法语。此外,添加新的过滤条件,例如 "level" /?language=French&level=Beginner 也不起作用。

有人可以帮我指出正确的方向吗?

谢谢西科尔

我的表格如下所示:

我的观点:

0 投票
1 回答
369 浏览

django - 在 *__lte 关键字中使用 Django Q 对象

我正在尝试在 Django 中执行此操作:

这是一种代码,所以这就是我试图以一种不那么罗嗦的方式做的事情:

但是,这会导致:

desired_moisture__lte 似乎无法处理我传递给它的 Q 对象。我该如何进行这项工作?

0 投票
1 回答
1279 浏览

django - Django 过滤器 OR - q 对象性能与 I 性能

什么会有更好的表现?哪个更快?这意味着较低的数据库负载?

或者

0 投票
0 回答
136 浏览

python - django过滤多对多以及Q

我们可以使用以下方法获取 m2m1 对象:

样本输出:

所以,如果我想获取 m2ms 的 id 为 1、2、3 的所有实例(也可以有更多)。然后我可以这样做:

我怎么能用 Q 做到这一点?

根据上述要求,我的意思是:

它应该在 (some_boolean=True, simple_field=5) OR some_boolean=False, m2ms 应该有 1,2,3(可以有更多)时返回记录。

输出:

请让我知道更多说明。

0 投票
1 回答
288 浏览

django - django AND on Q 不适用于多对多

这是模型:

这是有效的:

所以它返回所有标题包含字母“a”和“b”的记录。

然后同样不适用于多对多:

ModelA m2ms 列表:

因此,ModelA.objects.filter(Q(m2ms__id=1) & Q(m2ms__id=2)) 的预期输出应该是具有这些 m2m id 的记录:[1,2,3],[1,2]。但它没有发生。为什么 ?

我不能使用 Q(m2ms__id__in=[1,2]) 因为即使我做 __in=[1,2,3,4,infinite numbers] 它返回相同

这个问题中提到了使用 Q 而不是过滤器的原因 - django filter on many to many with Q

0 投票
1 回答
300 浏览

python - Django Queryset 最准确的搜索结果

我必须通过两个字段中列表中元素的出现来对查询集进行排序。目前我写了找到对象的部分:

但我找不到正确订购的解决方案。在“标签”字段中按列表中元素的出现排序将部分解决我的问题。 但我不喜欢遍历查询集中的所有对象..

0 投票
2 回答
177 浏览

django - Django 中的 Q 查询

如果我有以下查询

有没有办法知道哪个条件给出了特定的行?