Python 如何向queryset添加一个对象

Python 如何向queryset添加一个对象,python,django,django-queryset,Python,Django,Django 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(

这可以编译并运行良好

但我想做的是

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()=[]与newHref相同
x=列表对象

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

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

m.common.externalLinks.all() =  [<List: List object>] #same as newHref
x =  List object
另一种方法是使用:

c.common.externalLinks.all() | m.common.externalLinks.all()
但这将取决于代码的其余部分

python风格的旁白:尝试使用
snake\u case
而不是
camelCase

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

ExternalLink.objects.filter(common__in=[m.common, c.common])
或者,如果您只想要第一个:

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

现在还不清楚你想做什么,但我认为你是想把两个查询集结合起来

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

m.common.externalLinks.all() =  [<List: List object>] #same as newHref
x =  List object
另一种方法是使用:

c.common.externalLinks.all() | m.common.externalLinks.all()
但这将取决于代码的其余部分

python风格的旁白:尝试使用
snake\u case
而不是
camelCase

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

ExternalLink.objects.filter(common__in=[m.common, c.common])
或者,如果您只想要第一个:

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

你说这不编译是什么意思?它给出了什么错误?
类型的
省略
总是计算为
。因此您可以保存此行。TypeError:“List”对象不可编辑。我确实有一些条件检查“…”。“TypeError:“List”对象不可编辑”这是我收到的错误消息。你说这不编译是什么意思?它给出了什么错误?
类型的
省略
总是计算为
。因此您可以保存此行。TypeError:“List”对象不可编辑。实际上,我有一些条件检查“…”。“TypeError:“List”对象不可编辑”这是我收到的错误消息。添加两个QuerySet可以正常工作。我的意思是添加.all()和.all()效果很好。但是,当我尝试将一个对象添加到.all()时,它会给我以下错误消息:“TypeError:“List”对象不可编辑。”我指的是一个对象,如m.common.externalLinks.all()[0]。是否要将m.common.externalLinks.all()中的一个对象添加到c.common.externalLinks.all(),以便将该值持久化到数据库中?我仍然不完全清楚您想要实现什么,而不是如何实现它。添加两个查询集效果很好。我的意思是添加.all()和.all()效果很好。但是,当我尝试将一个对象添加到.all()时,它会给我以下错误消息:“TypeError:“List”对象不可编辑。”我指的是一个对象,如m.common.externalLinks.all()[0]。是否要将m.common.externalLinks.all()中的一个对象添加到c.common.externalLinks.all(),以便将该值持久化到数据库中?我仍然不完全清楚你想要实现什么,而不是你试图如何实现它。