gpt4 book ai didi

Django查询集匹配所有相关对象

转载 作者:行者123 更新时间:2023-12-01 01:27:30 26 4
gpt4 key购买 nike

假设我有一个从 Coconut 到 Swallow 的 ForeignKey(即一只燕子携带了许多椰子,但每个椰子只被一只燕子携带)。现在假设我有一个从 husk_segment 到 Coconut 的 ForeignKey。

现在,我有一个 husk_segments 列表,我想知道所有这些是否都被特定的燕子捕获了。

我可以让swallow.objects.filter(coconuts_carried__husk_sements__in = husk_segment_list) 来表明这只燕子已经抓取了列表中的至少一个 shell 部分。现在,我如何显示燕子携带过的每个 shell 部分都在此列表中?

最佳答案

the docs on queries spanning multi-valued relationships -- 您应该链接过滤器调用。

一个简单的方法是这样的

queryset = Swallow.objects.all()
for coconut in coconuts:
queryset = queryset.filter(coconuts_carried=coconut)

使用 reduce 在一行中完成此操作的奇特方法将是
reduce(lambda q, c: q.filter(coconuts_carried=c), coconuts, Swallow.objects.all())

关于Django查询集匹配所有相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com