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(),以便将该值持久化到数据库中?我仍然不完全清楚你想要实现什么,而不是你试图如何实现它。