问题标签 [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 对象?
我有一个字典列表,其中包含我从模型中获得app_label
的键:model
ContentType
我需要从中生成一组组合Q
对象以用作ForeignKey.limit_choices_to
参数。这是我需要的输出:
所以我可以在这样的模型中使用它:
任何人都知道如何通过遍历此字典列表来Q
使用运算符创建组合对象列表?|
django - Django Q 对象不工作
我想使用 Django 过滤器进行 or 查询。我的代码看起来很简单,但它不起作用。我已经阅读了很多答案,但对我没有任何帮助。有什么问题?
注释的代码行确实有效,但上面的代码行没有。
这是 Q 对象的文档:https ://docs.djangoproject.com/en/1.7/topics/db/queries/#complex-lookups-with-q-objects
这里有一个相关的问题,但这对我不起作用: 如何使用或使用 Django 的模型过滤系统?
有什么问题或我忘记了什么?
django - 类型错误:| 不支持的操作数类型:“bool”和“Q”
我正在运行 Django 1.7,并且TypeError: unsupported operand type(s) for |: 'bool' and 'Q'
在尝试执行以下操作时遇到了问题:
python - Django 中的 Q 对象
如何通过过滤器获得的 var 值进行选择,然后在循环中附加一个值?
django - Q 对象参数
我不知道如何用语言来描述代码所需的内容,我希望他自己说话。我需要从对象列表中进行过滤。
不必要的代码不起作用。
更新:代码,看起来更好,但也不起作用:
/projects/ 处的字段错误
无法将关键字“filter_obj”解析为字段。选项有:begin_time、comment、created_at、created_by、created_by_id、end_time、id、leader、leader_id、name、project_task、status、ticket_project
django - Django Q过滤器否定不会产生预期的查询
简化设置
这看起来不错。如果我们否定它呢?
什么?我希望得到的查询是:
如何修改我的语句,使结果查询更像我的预期?
显然我可以基于 SystemVulnerability 进行查询,但我的过滤器实际上比这复杂得多,所以我想保持它基于 System.Vulnerability。
我想 aSystem.objects.filter(pk__in=SystemVulnerability.filter(~Q(systemvulnerability__in=sv_list)).values_list('system'))
可以工作,但在 SQL 中生成的 IN 子句相当大而且速度很慢,尤其是随着我的数据增长。
编辑:我去尝试用前一行的 IN 子句来做。它有效,但最终否定了我的许多其他过滤器。我真的只需要 ~Q() 才能正常工作!
django - 使用 Q 对象查询
嗨,我是 Django 的新手。我正在尝试实现这样的搜索功能。
我想Shops
根据shop_name, state_name
and进行搜索city_name
。州和城市字段是外键。对于一些'Shops' state
andcity
是空的。但是,shop_name
包含search_text
. 所以我没有Shops
通过运行这个查询得到那些''。对此的任何帮助表示赞赏。
django - 在列表理解中使用 Q 对象
我有以下代码:
元素变量是使用 Q 对象实现的查询。但是,Q(book__pk=obj.id)
并book_elements
引用完全相同的一组值。如何引用Q(book__pk=obj.id)
列表理解的内部以避免运行 2 个查询。类似于以下内容:
我的元素模型按要求:
任何帮助表示赞赏!
python - Django 结合两个没有 Q 的查询
这是我目前遇到的问题:
我使用 Q() 过滤掉模型并获得 x 结果。然后我检查 x 结果以确定某些条件。根据这些条件,我执行另一个查询并获得 y 结果。正是在这一点上,我想组合 x 结果和 y 结果,然后对两者执行过滤器。请记住,两个查询属于同一模型。
由于在获得查询 1 的结果之前我无法执行查询 2,因此无法使用 Q() 组合这两个查询。
有什么方法可以将结果组合在一起吗?基本上我想要实现的看起来像这样:
python - Django Q 对象和 m2m 查询
我完全被这种行为弄糊涂了。我显然不像我想的那样理解 Q 对象,或者我正在做一些非常愚蠢和明显的事情。这就是我遇到的问题。accepted_attendee_* 都是与 OfficialProfile 的 m2m 关系。在 django shell 中,为了便于演示。
这一切都在预料之中。现在,如果我与 Q 对象结合在一起,事情会变得很奇怪。
返回两个对象,它们都具有相同的 PK - 两个重复的对象。根据个人查询,应该只有一个。但是再一次,当我这样做时:
这个 OR 查询返回两个对象的原因是什么,我相信很清楚,应该只有一个?
编辑
所以我查看了生成的查询,似乎“答案”与 Q 对象或 OR'ing 无关;相反,这是 ORM 加入表的方式。这是 SQL 及其生成的结果,没有 OR:
然后很明显,当你添加一个 OR 时,它根据连接的结果满足两个查询条件。因此,虽然在查询中添加 distinct似乎没有必要,但这是非常必要的。