gpt4 book ai didi

python - 如何向查询集中添加一个对象

转载 作者:太空宇宙 更新时间:2023-11-03 18:52:24 24 4
gpt4 key购买 nike

oldHref = c.common.externalLinks.all()
newHref = m.common.externalLinks.all()
m.common.externalLinks = list(chain(oldHref,newHref))

这可以编译并正常工作。

但是我想做的是

for x in oldHref:
if ... :
m.common.externalLinks = list(chain(newHref, x))

这不能编译。

只是为了让您了解它们的类型:

m.common.externalLinks.all() =  [<List: List object>] #same as newHref
x = List object

最佳答案

尚不清楚您要做什么,但我认为您正在尝试获得两个查询集的并集。

如果是这种情况,您可以使用:

c.common.externalLinks.all() | m.common.externalLinks.all()

另一种可能是使用:

ExternalLink.objects.filter(common__in=[m.common, c.common])

但这取决于其余代码的样子。

关于 Python 风格的旁白:尝试使用 snake_case 而不是 camelCase

好吧,这不是您想要的联合:也许您想将 m.common.externalLinks.all() 中的所有值添加到 c.common.externalLinks?

c.common.externalLinks.add(*m.common.externalLinks.all())

或者,如果您只想要第一个:

c.common.externalLinks.add(m.common.externalLinks.all()[0])

关于python - 如何向查询集中添加一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039802/

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