簡體   English   中英

如何將一個對象添加到queryset

[英]how to add one object to queryset

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])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM